【问题标题】:When to dispose static resources in ASP.NET MVC application life-cycle何时在 ASP.NET MVC 应用程序生命周期中处理静态资源
【发布时间】:2015-07-13 19:20:55
【问题描述】:

我们有一个 IDisposable 资源,尽管它是无状态且线程安全的,但实例化的成本相对较高。所以...我们决定使用标准的单例模式进行包装,并对所有请求重新使用单个实例,直到应用程序池回收。

考虑到这一点,如果可能,我们仍然希望以确定性方式调用 Dispose()。

问题...如果我们有机会在关闭的情况下优雅地处理这些资源,那么在什么地方处理这些资源是合适的?比如……

对于上下文,应用程序是 ASP.NET MVC 4。

    protected void Application_Disposed(Object sender, EventArgs e)
    {
        CleanUpResources();
    }

或者……

    protected void Application_End(Object sender, EventArgs e)
    {
        CleanUpResources();
    } 

【问题讨论】:

    标签: asp.net .net asp.net-mvc asp.net-mvc-4 idisposable


    【解决方案1】:

    我所知道的最可靠的挂接应用程序结束事件的方法是IRegisteredObject。我不知道Application_End的可靠性。

    【讨论】:

      【解决方案2】:

      资源是托管还是非托管?如果是托管的,使用Application_End,否则使用Application_Disposed。请参阅https://msdn.microsoft.com/en-us/library/ms178473.aspx 了解更多信息。

      【讨论】:

      • Application_End 还是 Application_End?
      猜你喜欢
      • 1970-01-01
      • 2015-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      相关资源
      最近更新 更多