本文介绍了在Asp.NET MVC应用程序的静态类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道如果一个静态类在 ASP.NET MVC 的应用可能会不止一次初始化多。我最初的设计我的应用程序,使静态的组件会从数据库中获取一些东西,并作为缓存,我添加了一个刷新方法这是从构造函数调用的类。刷新方法还通过应用程序的管理部分提供。在某些时候,我注意到,数据,而不需要这种手动触发,这意味着静态构造函数运行多次更新。
有几种情况,我可以合理地看到这样的情况,比如未处理例外
导致重新初始化。但我无法重现这一点,所以我想知道。
解决方案
最常用的场景是:
-
Web应用程序的重新加载
- 触及的Web.config
- 感动二进制文件
- 异常终止(外的内存,允许错误)
-
应用程序池的重新加载
- IIS重新启动
- w3wp.exe的重新启动(至少有一次29个小时!)
该应用程序域将得到重新加载(如需要重新编译动态部分),这都将使任何静态初始化数据。
您可以通过持续的静态数据,如果某个地方建立它是昂贵的,或避免重装的AppDomain中,应用程序池或IIS服务器绕开这个问题。
I suggest you read it :)
这篇关于在Asp.NET MVC应用程序的静态类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!