lendy119 发表于 2015-8-13 13:20:40

网站部署到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做测试就知道了.
页: [1]
查看完整版本: 网站部署到IIS之后, Application_Start不执行