当前位置: 代码迷 >> ASP.NET >> ASP2005 global.asax的Application_Start如何不运行
  详细解决方案

ASP2005 global.asax的Application_Start如何不运行

热度:3653   发布时间:2013-02-25 00:00:00.0
ASP2005 global.asax的Application_Start怎么不运行
在本机调试一切正常,但是发布网站后放到服务器上就感觉根本没有运行global.asax的Application_Start。
而且一样的代码,以前在服务器上也是正常运行的,就在1个月前突然不运行了,我也不知道什么原因,最近想更正这个问题却无法下手。

global.asax内容大概如下
C# code
<%@ Application Language="C#" %><script runat="server">        System.Timers.Timer m_Timmer3 = null;    ClassSend a = new ClassSend();//ClassSend是自定义的一个类,用于发送E-mail        void Application_Start(object sender, EventArgs e)     {                // 在应用程序启动时运行的代码        //a.CheckLog("C:\\test.txt", "1");        m_Timmer3 = new System.Timers.Timer();        m_Timmer3.Interval = 1000 *60 * 60;//        m_Timmer3.Elapsed += new System.Timers.ElapsedEventHandler(m_Timmer3_Elapsed);        m_Timmer3.Enabled = true;        a.CheckLog("C:\\TEST.txt", "ts");//在C:\TEST.txt文件追加一行,用于检查是否运行了    }        void Application_End(object sender, EventArgs e)     {        //  在应用程序关闭时运行的代码    }            void Application_Error(object sender, EventArgs e)     {         // 在出现未处理的错误时运行的代码    }    void Session_Start(object sender, EventArgs e)     {        // 在新会话启动时运行的代码    }    void Session_End(object sender, EventArgs e)     {        // 在会话结束时运行的代码。         // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer         // 或 SQLServer,则不会引发该事件。    }    void m_Timmer3_Elapsed(object sender, System.Timers.ElapsedEventArgs e)    {        //定时发E_Warning数据        a.SendEmail_EW_byDept();    }           </script>



重要的一点是,以前很长一段时间服务器都是正常运行,最近大概一个月开始不运行的。
服务器:win2003 /vs2005

------解决方案--------------------------------------------------------
C# code
void Application_End(object sender, EventArgs e) { // 在应用程序关闭时运行的代码 //解决应用池回收问题 System.Threading.Thread.Sleep(5000); string strUrl = "网站地址"; System.Net.HttpWebRequest _HttpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strUrl); System.Net.HttpWebResponse _HttpWebResponse = (System.Net.HttpWebResponse)_HttpWebRequest.GetResponse(); System.IO.Stream _Stream = _HttpWebResponse.GetResponseStream();//得到回写的字节流 }
------解决方案--------------------------------------------------------
探讨

还有就算要在Application_End里面回收一些东西(我不懂),但是我都把服务器重起了,还是一样的不行的
  相关解决方案