加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在ApiController构造之后但在执行动作之前运

发布时间:2020-12-16 09:40:07 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET Web API服务,我试图将有关请求的信息注入“日志记录上下文”,这些对象可以被不知道它们是Web服务的一部分的对象重用.目标是记录的每条消息都与从产生它的请求中获取的一组数据点相关联. 上下文本身很早就由Message Handler生成,然后添加到Re
我有一个ASP.NET Web API服务,我试图将有关请求的信息注入“日志记录上下文”,这些对象可以被不知道它们是Web服务的一部分的对象重用.目标是记录的每条消息都与从产生它的请求中获取的一组数据点相关联.

上下文本身很早就由Message Handler生成,然后添加到Request.Properties中.我遇到的问题是,在控制器构造函数中,控制器上的Request属性尚未设置,因此我无法检索上下文并使用它来适当地配置日志记录.

我想我可以使用过滤器:在OnActionExecuting过滤器可以检查控制器是否实现了定义“PreAction”的接口,如果是这样,它可以调用该方法,但我不确定这是否是框架提供的重复功能.

问题:在构造函数运行并且已填充Request属性但在执行action方法之前,是否有内置方法来运行方法?

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读