C# 在DelegatingHandler中添加webapi头
我试图在webapi项目的委托处理程序中向请求添加一个头 像这样: 受保护的异步覆盖任务SendAsyncHttpRequestMessage请求,CancellationToken CancellationToken { var corGuid=CommonBaseController.CreateSafeCorrelationIdstring.Empty; cor=corGuid.ToString; request.Content.Headers.AddcorrelationId,cor; var response=await base.SendAsyncrequest,cancellationToken; } 一旦进入控制器,我希望能够获得如下标题:C# 在DelegatingHandler中添加webapi头,c#,asp.net-web-api,asp.net-web-api2,C#,Asp.net Web Api,Asp.net Web Api2,我试图在webapi项目的委托处理程序中向请求添加一个头 像这样: 受保护的异步覆盖任务SendAsyncHttpRequestMessage请求,CancellationToken CancellationToken { var corGuid=CommonBaseController.CreateSafeCorrelationIdstring.Empty; cor=corGuid.ToString; request.Content.Headers.AddcorrelationId,cor;
但是标题不在那里。将值存储在HttpRequestMessage.Properties中如何 授权处理人:
request.Properties.Add("correlationId", CommonBaseController.CreateSafeCorrelationId(string.Empty).ToString());
ApiController:
var id = Request.Properties["correlationId"];
我使用了错误的请求对象。标头不会显示在HttpContext.Current.Request中,而是显示在控制器中的base.Request对象中
谢谢我在控制器中得到了以下信息:'System.Web.HttpRequest'不包含'Properties'的定义@Franklin属性位于System.Net.Http程序集中的HttpRequestMessage类上。您似乎处于Mvc环境中。
var id = Request.Properties["correlationId"];