网站部署到IIS之后, Application_Start不执行

问题描述 : 

我是在Application_Start给网站初始化了一个计时器, 通过这个计时器实现一些特定的定时任务.

问题原因:

    把网站部署到IIS上的时候忘记Copy Global.asax文件,

以下是在Application_Start中编码时需要注意的一些基础问题,跟次问题无关,只在此说明以下.

1. Application_Start中 HttpContext中的Current对象还没有初始化,所以无法根据Request,MapPath获取到网站相关的路径,
   
    如要操作文件,建议在Web.Config AppSetting段加一个配置字段,用来记录你所访问的路径.

2. 另外Timer中程序的执行时间小于Timer执行间隔时间的时候, 在进入Timer执行代码时先停掉Timer, 等代码执行完后在打开Timer.
ex: void timer_Elapsed(object Sender, System.Timers.ElapsedEventArgs e)
{
      timer.Stop();
     
     ........
Execute Code...
------

 timer.Start();
}

影响后果: Timer计时器会多次条用timer, 导致程序逻辑很乱,想看具体结果的,自己做个Demo做测试就知道了.
posted @ 2009-09-15 08:49  DukeCheng  阅读(2588)  评论(1编辑  收藏  举报