您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> asp.net编程 >> 正文

记录asp.net网站是什么原因导致停止运行的代码

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了记录asp.net网站是什么原因导致停止运行的具体实现

记录网站是什么原因导致停止运行还是有必要的,下面是具体的实现方式。  代码如下: protected void Application_End(object sender, EventArgs e)  {  RecordEndReason();  }    /// <summary>  /// 记录网站停止运行原因  /// </summary>  protected void RecordEndReason()  {  HttpRuntime runtime = (HttpRuntime)typeof(System.Web.HttpRuntime).InvokeMember("_theRuntime", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.GetField,  null,  null,  null);  if (runtime == null)  return;  string shutDownMessage = (string)runtime.GetType().InvokeMember("_shutDownMessage",  System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.GetField,  null,  runtime,  null);  string shutDownStack = (string)runtime.GetType().InvokeMember(  "_shutDownStack",  System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.GetField,  null,  runtime,  null);  string reasonString="网站Application_End,停止运行,shutDownMessage=" + shutDownMessage + ",shutDownStack=" + shutDownStack;  LogHelper.WriteErrorLog(reasonString,null);  LogHelper.WriteSmtp(reasonString, null);  //以下方法将重启的原因和重启时的堆栈信息记录到了windows的事件查看器中,当然你也可以记录到文本文件中。  //EventLog log = new EventLog();  //log.Source = "ASP.NET 2.0.50727.0";  //log.WriteEntry(String.Format("rnrn_shutDownMessage={0}rnrn_shutDownStack={1}", shutDownMessage, shutDownStack), EventLogEntryType.Information);  }