2

我有一个使用 ASP .Net 和非 Web 应用程序的类,需要应用程序结束完成(它使用一个需要在应用程序端进行清理调用的 .Net Framework 类)。当我在 ASP.Net 中的 IIS 下运行以下测试代码时,AppDomain.CurrentDomain.ProcessExit 永远不会触发,即使在 IIS 重置期间......即使 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 应用程序触发的条件?

4

0 回答 0