gpt4 book ai didi

asp.net-mvc - 如何在 ApiController 构造之后但在操作执行之前运行方法?

转载 作者:行者123 更新时间:2023-12-02 11:08:38 24 4
gpt4 key购买 nike

我有一个 ASP.NET Web API 服务,我试图将有关请求的信息注入(inject)到“日志记录上下文”中,该上下文可以被不知道自己是 Web 服务一部分的对象重用。目标是记录的每条消息都与从生成它的请求中获取的一组数据点相关联。

上下文本身很早就由消息处理程序生成,然后添加到 Request.Properties 中。我遇到的问题是,在 Controller 构造函数中, Controller 上的 Request 属性尚未设置,因此我无法检索上下文并使用它来正确配置日志记录。

我想我可以用一个过滤器来做到这一点:在OnActionExecuting中,过滤器可以检查 Controller 是否实现了定义“PreAction”的接口(interface),如果是这样,它可以调用该方法,但我没有确定这是否重复框架提供的功能。

问题:是否有一种内置方法可以在运行构造函数并填充 Request 属性之后但在操作方法执行之前运行方法?

最佳答案

作为选项,您可以使用 Microsoft Unity IoC 容器并使用拦截功能。 http://msdn.microsoft.com/en-us/library/ff647107.aspx

  1. http://msdn.microsoft.com/en-us/library/ff647107.aspx
  2. http://msdn.microsoft.com/en-us/magazine/gg535676.aspx

你可以用它拦截任何方法。

关于asp.net-mvc - 如何在 ApiController 构造之后但在操作执行之前运行方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21344326/

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