HttpActionContext.La demande n'a pas CreateResponse Meth

Je suis en train de créer un personnalisé AuthorizeAttribute dans ASP.Net Web API pour gérer l'Authentification Basique. Lors de la substitution HandleUnauthorizedRequest je trouve que le HttpActionContext.La demande n'a pas un CreateResponse méthode.

Le projet MVC 4 de mieux les cibler .net 4.5. J'ai mis à jour l'API Web pour la version 2 à l'aide de nuget.


using System;
using System.Net.Http.Headers;
using System.Text;
using System.Threading;
using System.Web.Http;

namespace BasicAuth.Security
{
    public class BasicAuthAttribute : AuthorizeAttribute
    {
        public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)
        {
            if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
            {
                return;
            }

            var authHeader = actionContext.Request.Headers.Authorization;
            if (authHeader != null)
            {
                if (authHeader.Scheme.Equals("basic", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrWhiteSpace(authHeader.Parameter))
                {
                    var credentials = GetCredentials(authHeader);

                    //Handle authentication

                    return;
                }
            }

          HandleUnauthorizedRequest(actionContext);
        }

        private string[] GetCredentials(AuthenticationHeaderValue authHeader)
        {
            var raw = authHeader.Parameter;
            var encoding = Encoding.ASCII;
            var credentials = encoding.GetString(Convert.FromBase64String(raw));

            return credentials.Split(':');
        }

        protected override void HandleUnauthorizedRequest(System.Web.Http.Controllers.HttpActionContext actionContext)
        {
            actionContext.Response = actionContext.Request. //No CreateResponse Method ?
        }
    }
}

Je suis sûr qu'il doit être manquant ou incorrect de référence quelque part, c'est plutôt bien que déroutante. Toute aide serait grandement appréciée.

Grâce

InformationsquelleAutor zybroxz | 2014-02-19