解决vs2005 经WebDeployment发布后 global.asax 事件不启动

最近在做一个项目,需要在Appliction_Start启动时自动调度一些任务去运行。使用的编辑器是VS2005,XP系统,本地编译测试都很成功。将站点使用WebDeployment发布,并上传到Win2003服务器,发现Application_Start事件没有启动(我做了启动日志记录,发现日志为空)。

 

网上搜索了很多办法,一一去试都没有解决。据说有个临时解决办法,我还没有去试。

 

临时解决办法:

在编译网站的时候,把global.asax文件从项目中排除,再编译居然问题解决了.

发布的时候直接把golbal.asax文件copy到项目的根目录中,

如果哪位高手知道原因,请告诉在下一声.

 

看了老外的文章,试了下下面的办法,发现可以通过:

1、使用WebDeployment发布站点并获得名为一个“站点名_deploy”的子项目,一般我们就直接编译了,现在改改;

2、右键点该项目-->属性-->配置属性-->compilation-->将“allow this precompiled site to be updatable”前面的勾去掉

3、生成项目并获得编译后的内容,这时候你到编译好的项目里面的bin目录下可以看到很多的".compiled"的文件,把该目录下的所有文件都直接上传就OK。

4、在站点根目录下还有一个“PrecompiledApp.config”文件,我也一并传上去了。

5、由于bin目录下一旦有更新,站点会自动重新启动。而且如果要触发Application_Start事件,从静态页启动不了,必须打开动态页,还好我的首页就是“index.aspx”,直接输入地址,等待几秒钟站点重新启动,然后查看日志,事件成功被触发!!

posted @ 2010-03-11 16:37  refuly  阅读(742)  评论(1编辑  收藏  举报