网站部署到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做测试就知道了.