我有一个类使用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应用程序触发的任何条件?