Asp.net IOC容器和Web应用程序

Asp.net IOC容器和Web应用程序,asp.net,web-applications,castle-windsor,stateful,Asp.net,Web Applications,Castle Windsor,Stateful,我已经开始研究这个.NET web应用程序,它有一个IOC容器(Windsor)来创建业务经理,并将其保存在内存中,直到IIS回收它们。基本上,这些业务经理都有自己的状态和数据,其内容是从应用程序启动时启动的后台线程修改的。这不是我所期望的web应用程序工作的方式(应该是无状态的,每个请求对应每个线程),我不太确定这个实现是否可持续/可伸缩。是否有人以这种方式尝试过这些事情?如果是的话,你从中看到了什么后果/好处 我们在应用程序中使用静态,仅用于核心功能。静态类在所有请求中共享,因此可用性应该比

我已经开始研究这个.NET web应用程序,它有一个IOC容器(Windsor)来创建业务经理,并将其保存在内存中,直到IIS回收它们。基本上,这些业务经理都有自己的状态和数据,其内容是从应用程序启动时启动的后台线程修改的。这不是我所期望的web应用程序工作的方式(应该是无状态的,每个请求对应每个线程),我不太确定这个实现是否可持续/可伸缩。是否有人以这种方式尝试过这些事情?如果是的话,你从中看到了什么后果/好处

我们在应用程序中使用静态,仅用于核心功能。静态类在所有请求中共享,因此可用性应该比较低。在开发环境中,我们看到静态越来越多地出现:ASP.NET MVC 3将静态用于应用程序的各个领域,以及其他流行的操作系统源库

只要不是很多,你就应该没事。。。但你也可以用内存分析器来验证它们有多大,以及它们是否占用了太多内存

另一种选择是将它们放在缓存中,或者重建它们并将它们存储在每个请求中。要在请求中全局存储它们,请使用
HttpContext.Current.Items
collection