???????????????????

??????????

???????????????????д????????棬???????Cache?????????趨??????????????е????????????????????????????3???????????

????1?????????????? -- ?????????????????????????????????????????????????????????????

????2??д?????????????? -- ??????????????????????????dll??????????????????bug??????????????????????

????3?????????????????????????? -- ???????????????????£????????????????????????????????????????????????????????????????????

???????????

???????????????????????????????????????????????????????????????????????????????????????????ó????Appliacation_End?????cache?????????????????Global.asax?????Application_End??????д????????????????????????????????????????????????????

protected void Application_End(object sender?? EventArgs e)
{
    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);
 
    if (!EventLog.SourceExists(".NETRuntime"))
    {
 
        EventLog.CreateEventSource(".NETRuntime"?? "Application");
 
    }
 
    EventLog log = new EventLog();
 
    log.Source = ".NET Runtime";
 
    log.WriteEntry(String.Format(" _shutDownMessage={0} _shutDownStack={1}"?? shutDownMessage?? shutDownStack)?? EventLogEntryType.Error);
}

??????????????????????м????????????

????=====================================================

????The description for Event ID ( 0 ) in Source ( .NET Runtime ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event:

????_shutDownMessage=Recompilation limit of 15 reached
????HostingEnvironment initiated shutdown
????HostingEnvironment caused shutdown

????_shutDownStack=   at System.Environment.GetStackTrace(Exception e?? Boolean needFileInfo)
????   at System.Environment.get_StackTrace()
????   at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
????   at System.Web.Hosting.HostingEnvironment.InitiateShutdown()
????   at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace)
????   at System.Web.Compilation.DiskBuildResultCache.ShutdownCallBack(Object state)
????   at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)
????   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext?? ContextCallback callback?? Object state)
????   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
????   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state).

????=====================================================