C# 从自定义PostSharp属性内部访问请求标头
我试图从自定义PostSharp属性中访问C# 从自定义PostSharp属性内部访问请求标头,c#,.net,asp.net-mvc,asp.net-web-api,postsharp,C#,.net,Asp.net Mvc,Asp.net Web Api,Postsharp,我试图从自定义PostSharp属性中访问HttpRequestMessage 在我的Web API中,我可以这样做: string headerText = Request.Headers.GetValues("TestHeader").First(); 这在API控制器之外似乎不起作用 [Serializable] [AttributeUsage(AttributeTargets.Method)] public sealed class LogHeaderAttribute : OnMet
HttpRequestMessage
在我的Web API中,我可以这样做:
string headerText = Request.Headers.GetValues("TestHeader").First();
这在API控制器之外似乎不起作用
[Serializable]
[AttributeUsage(AttributeTargets.Method)]
public sealed class LogHeaderAttribute : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
// Log Web API request header info here
}
}
我发现我可以通过以下方式访问标题:
[Serializable]
[AttributeUsage(AttributeTargets.Method)]
public sealed class LogHeaderAttribute : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
ApiController apiController = (ApiController)args.Instance;
var context = apiController.ControllerContext;
HttpRequestHeaders headers = context.Request.Headers;
// Use Web API request header info here
string headerText = headers.GetValues("MyHeader").First();
}
}