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

发布时间:2022-04-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了记录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("\r\n\r\n_shutDownMessage={0}\r\n\r\n_shutDownStack={1}", shutDownMessage, shutDownStack), EventLogEntryType.Information);
}

效果截图

脚本宝典总结

以上是脚本宝典为你收集整理的记录asp.net网站是什么原因导致停止运行的代码全部内容,希望文章能够帮你解决记录asp.net网站是什么原因导致停止运行的代码所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:asp.net