asp.net 2では、フォルダーを削除するとアプリケーションが再起動します。しかし、今日、この動作はasp.net 4には存在しなくなったことがわかりましたか?これに関する情報が見つかりません。これが本当かどうか誰か教えてもらえますか?はいの場合、それは素晴らしいです!asp.net2でのこのアプリケーションの再起動動作は嫌いです。これを試すことができます。
asp.net Webフォーム(.net 3.5)で次のコードをデバッグすると、ThreadAbortExceptionが発生します。ただし、asp.net webforms(.net 4)でデバッグする場合、例外は発生しません。すべて順調。ThreadAbortExceptionが発生したのは、スレッド内のディレクトリを削除したためだと思います。その後、アプリケーションが再起動し、スレッドが中止されました。(環境:Win8、VS2012、IIS Express)
protected void Page_Load(object sender, EventArgs e)
{
var thread = new Thread(() =>
{
var folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data\\Test");
var filePath = Path.Combine(folderPath, "test.txt");
if (Directory.Exists(folderPath))
{
Directory.Delete(folderPath, true);
}
Directory.CreateDirectory(folderPath);
System.IO.File.WriteAllText(filePath, "Hello");
try
{
var loop = 100;
while (loop > 0)
{
Thread.Sleep(100);
loop++;
}
}
catch (Exception ex)
{
var msg = ex.Message;
}
});
thread.Start();
Response.Write("Running");
}