gpt4 book ai didi

c# - 从自定义 PostSharp 属性内部访问请求 header

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:37 26 4
gpt4 key购买 nike

我正在尝试从自定义 PostSharp 属性中访问 HttpRequestMessage

在我的 Web API 中,我可以这样做:

string headerText = Request.Headers.GetValues("TestHeader").First();

这似乎在 API Controller 之外不起作用。

[Serializable]
[AttributeUsage(AttributeTargets.Method)]
public sealed class LogHeaderAttribute : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
// Log Web API request header info here
}
}

最佳答案

我发现我可以通过这种方式访问​​ header :

[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();
}
}

关于c# - 从自定义 PostSharp 属性内部访问请求 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39928653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com