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

来源:互联网 发布:如何删除mac上的文件 编辑:程序博客网 时间:2024/04/29 10:04

在站点执行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的事件查看器中,当然你也可以记录到文本文件中。

原创粉丝点击