Application_End什么时候结束?怎样强制Application_End,想看看该方法内的代码是否执行。

解决方案 »

  1.   

    ASP.NET 框架应用程序在第一次向服务器发出请求时创建,在此之前,不执行 ASP.NET 代码。当第一个请求发出后,将创建一个 HttpApplication 实例池并引发 Application_Start 事件。HttpApplication 实例处理该请求以及后面的请求,直到最后一个实例退出并引发 Application_End 事件。 
      

  2.   

    你也可以先运行你的程序,然后修改web.config文件,然后保存,也可以触发Application_End
      

  3.   


    关闭了IIS也不见有变化Log.txt为什么?protected void Application_End(Object sender, EventArgs e)
    {
    string subject = "记录Application_End时间";
    string content = "Application_End at " + DateTime.Now.ToString();
    string logFile = Server.MapPath("/Admin/Log.txt");
    LogFile log = new LogFile(logFile);
    log.Append(subject, content); }
    using System;
    using System.IO;
    using System.Text;namespace cjl.IO
    {
    public class LogFile
    {
    public LogFile(string fileName)
    {
    if (!File.Exists(fileName))
    {
    throw new FileNotFoundException("文件不存在。", fileName);
    } this.fileName = fileName; } private string fileName; public void Append(string subject, string content)
    {
    Stream stream = File.Open(fileName, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
    StreamWriter writer = new StreamWriter(stream, Encoding.GetEncoding("gb2312")); string format = @"
    --------------------------------------------------------------------------------
    时间:{0}
    主题:{1}
    内容:{2}
    --------------------------------------------------------------------------------";
    writer.WriteLine(format, DateTime.Now, subject, content);
    writer.Close(); } public void Truncate()
    {
    Stream stream = File.Open(fileName, FileMode.Truncate, FileAccess.Write, FileShare.Write);
    stream.Close();// StreamWriter writer = new StreamWriter(stream, Encoding.GetEncoding("gb2312"));
    //  
    // writer.Close();
    }
    }
    }
      

  4.   

    Application_Starts是网站开始运行时发生的,
    Application_End当然要关闭运行罗,
    比如关闭iis的方式 
    或关服务器电源等方式