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

我有几个依赖注入服务依赖于HTTP上下文的东西.现在我正在将它们作为单个应用程序配置为Application_Start处理程序中的Windsor容器,这显然是这样的服务的一个问题.

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

解决方法

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

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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....