在ASP .Net中,在什么条件下(如果有的话)AppDomain.CurrentDomain.ProcessExit会触发?

时间:2013-11-07 21:26:30

标签: asp.net .net appdomain

我有一个类使用ASP .Net和非Web应用程序需要应用程序结束最终化(它使用的是需要在应用程序端进行清理调用的.Net Framework类)。当我在ASP.Net中的IIS下运行以下测试代码时,即使在IIS重置期间,AppDomain.CurrentDomain.ProcessExit也不会触发...即使Application_End触发。

(注意:测试代码隐藏页面确实以导致静态构造函数运行的方式引用该类)

public class A
{
    static A()
    {
        AppDomain.CurrentDomain.ProcessExit += A_Dtor;
    }

    public static string Text { get { return "Content"; } }
    public string B() { return "B"; }

    static void A_Dtor(object sender, EventArgs e)
    {
        StreamWriter sw = new StreamWriter(File.OpenWrite(@"c:\everyone\A_Dtor.txt"));
        sw.Write("test");
        sw.Close();

        Debug.WriteLine("Firing A_Dtor");
    }
}

是否存在AppDomain.CurrentDomain.ProcessExit为ASP.Net应用程序触发的任何条件?

0 个答案:

没有答案