您的位置:首页 > 编程语言 > ASP

如何记录asp.net站点重启的原因?

2011-08-11 15:31 387 查看
在站点执行Application_End事件中添加记录方法。在Global.asax.cs文件中添加如下代码即可:
void Application_End(object sender, EventArgs e)
{
//  Code that runs on application shutdown
RecordEndReason();
}

protected void RecordEndReason()
{
HttpRuntime runtime = (HttpRuntime)typeof(System.Web.HttpRuntime).InvokeMember("_theRuntime",
BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.GetField,
null,
null,
null);

if (runtime == null)
return;

string shutDownMessage = (string)runtime.GetType().InvokeMember("_shutDownMessage",
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField,
null,
runtime,
null);

string shutDownStack = (string)runtime.GetType().InvokeMember(
"_shutDownStack",
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField,
null,
runtime,
null);

EventLog log = new EventLog();

log.Source = "ASP.NET 2.0.50727.0";
log.WriteEntry(String.Format("\r\n\r\n_shutDownMessage={0}\r\n\r\n_shutDownStack={1}", shutDownMessage, shutDownStack), EventLogEntryType.Information);
}
以上方法将重启的原因和重启时的堆栈信息记录到了windows的事件查看器中,当然你也可以记录到文本文件中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: