• 记录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("
    
    _shutDownMessage={0}
    
    _shutDownStack={1}", shutDownMessage, shutDownStack), EventLogEntryType.Information);
            }
    

     效果截图

  • 相关阅读:
    阻止a链接跳转的点击事件
    appium python版api
    Appium—python_ 安卓手机划屏幕操作
    appium-unittest框架中的断言
    Appium 服务关键字
    python mysql入库的时候字符转义
    python实现两个字典合并
    解决linux登录后总是时间过会就断开(解决ssh登录后闲置时间过长而断开连接)
    linux安装好redis,如何在window端访问?
    linux上安装redis
  • 原文地址:https://www.cnblogs.com/hnsongbiao/p/3627713.html
Copyright © 2020-2023  润新知