本文介绍了在Asp.NET MVC应用程序的静态类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如果一个静态类 ASP.NET MVC 的应用可能会不止一次初始化多。我最初的设计我的应用程序,使静态的组件会从数据库中获取一些东西,并作为缓存,我添加了一个刷新方法这是从构造函数调用的类。刷新方法还通过应用程序的管理部分提供。在某些时候,我注意到,数据,而不需要这种手动触发,这意味着静态构造函数运行多次更新。

有几种情况,我可以合理地看到这样的情况,比如未处理例外导致重新初始化。但我无法重现这一点,所以我想知道。


解决方案

最常用的场景是:


  • Web应用程序的重新加载


    • 触及的Web.config

    • 感动二进制文件

    • 异常终止(外的内存,允许错误)


  • 应用程序池的重新加载


  • IIS重新启动

  • w3wp.exe的重新启动(至少有一次29个小时!)

该应用程序域将得到重​​新加载(如需要重新编译动态部分),这都将使任何静态初始化数据。

您可以通过持续的静态数据,如果某个地方建立它是昂贵的,或避免重装的AppDomain中,应用程序池或IIS服务器绕开这个问题。

I suggest you read it :)

这篇关于在Asp.NET MVC应用程序的静态类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-22 21:28
查看更多