我想知道我是否可以跟蹤這一點,因爲如果經常發生這種情況,我想知道它的根本原因。是否有任何時間戳記錄可用於在IIS中重新啓動我的網站,如何以編程方式跟蹤此問題?如何檢查IIS或ASP.NET工作進程是否自動重新啓動我的網站?
感謝所有。
我想知道我是否可以跟蹤這一點,因爲如果經常發生這種情況,我想知道它的根本原因。是否有任何時間戳記錄可用於在IIS中重新啓動我的網站,如何以編程方式跟蹤此問題?如何檢查IIS或ASP.NET工作進程是否自動重新啓動我的網站?
感謝所有。
您可以登錄原因重新啓動應用程序在Global.asax中Application_End:
protected void Application_End(object sender, EventArgs e)
{
HttpRuntime runtime = (HttpRuntime)typeof(System.Web.HttpRuntime).InvokeMember("_theRuntime", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.GetField, null, null, null);
string shutDownMessage = "";
if (runtime != null)
{
shutDownMessage = Environment.NewLine + "Shutdown: " +
(string)runtime.GetType().InvokeMember("_shutDownMessage", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField, null, runtime, null) +
Environment.NewLine + "Stack: " + Environment.NewLine +
(string)runtime.GetType().InvokeMember("_shutDownStack", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField, null, runtime, null);
}
}
非常感謝,這似乎告訴我們我們正在尋找什麼。 –
+1非常好,很好的想法,剛纔我看到了這個答案。 – Aristos
void Application_Start(object sender, EventArgs e)
和
void Application_End(object sender, EventArgs e)
被稱爲應用程序啓動和結束時。您可以使用它們來記錄它。現在要知道爲什麼您的游泳池正在重新啓動,您可以簡單地檢查您的游泳池的設置,有很多原因可能已經設置,也許你已經設置了時間限制,可能是內存限制,也許其他設置...你可以檢查他們並改變他們。
我已經知道這個事件,我們正在使用它。謝謝。 –
http://msdn.microsoft.com/en-us/library/bb398933.aspx – zdrsh
哪個版本的IIS嗎? –
使用WMI查詢事件日誌。 – vcsjones