用windows service 做这样的事

解决方案 »

  1.   

    Asp.net网站的特性是要第一次访问才开始执行的。
    Timer是WinFrom的组件,没尝试过是否能在Asp.net运行过。
    建议你还是用线程做吧。
      

  2.   

    Application_Start,表示应用程序启动时候执行的事件,也就是web程序部署好后,开始运行了执行的事件,在web不重启的情况下,只会运行一次,所以,只有在第一次访问时候,才会执行这个事件,注意:第一次时候web程序开始启动。
    然后,为什么不发邮件,你看看是不是你的timer控件使用错误,导致没有执行timer的事件。跟踪下。
      

  3.   

     void Application_End(object sender, EventArgs e)
        {
         
                  bool flag = true;        while (flag)
            {
                HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:33255/default.aspx");            HttpWebResponse myRsp = (HttpWebResponse)myReq.GetResponse();            string tmp = myRsp.StatusDescription;            if (!string.IsNullOrEmpty(tmp))
                {
                                myReq.Abort();
                    myRsp.Close();
                    flag = false;
                }
            }
              }
    Appliction_End事件当中重新请求该项目 当中的一个默认空白页可以触发Appliction_Start 我在项目中是这么解决的