0
我在ASP.NET中创建网络API的自定义消息处理程序像下面HttpContext.Current.Request总是在自定义消息处理空在ASP.NET网页API
public class CustomMessageHandler:DelegatingHandler
{
protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
return base.SendAsync(request, cancellationToken).ContinueWith(task =>
{
HttpRequest httpRequest = HttpContext.Current.Request;
AuthenticationMode getAuthenticationMode = Application.GetAuthenticationMode();
var authenticationFactory = new AuthenticationFactory();
ICustomAuthentication authentication = authenticationFactory.CurrentAuthentication(getAuthenticationMode);
authentication.ValidateRequest(httpRequest);
HttpResponseMessage response = task.Result;
response.StatusCode = HttpContext.Current.Response.StatusCode == 200 ? HttpStatusCode.OK : HttpStatusCode.Unauthorized;
return response;
});
}
}
这个方法我试图把里面HttpRequest但它总是null.is我失踪?或者有什么办法将HttpRequestMessage转换为HttpRequest?