asp.net-mvc – ASP.NET MVC&Windsor.Castle:使用与HttpContext相关的服务

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC&Windsor.Castle:使用与HttpContext相关的服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有几个依赖注入服务依赖于HTTP上下文的东西.现在我正在将它们作为单个应用程序配置为Application_Start处理程序中的Windsor容器,这显然是这样的服务的一个问题.

什么是最好的办法呢?我正在考虑使它们暂时性,然后在每个HTTP请求之后释放它们.但是,将HTTP上下文注入其中的最佳方式/位置是什么?控制器厂或其他地方?

解决方法

使用Castle Windsor,您可以使用PerWebRequest生命周期 – 这应该符合您的要求.

这意味着您可以将HTTP注入到您的服务中,并且容器将负责适当的生命周期管理.然而,这要求您也将所有这些服务(以及所有这些服务的所有消费者等)注册为PerWebRequest(或Transient),因为如果您将它们注册为Singletons,那么它们将继续停留(可能处理的)上下文.

猜你在找的asp.Net相关文章