关于 Global.asax 的 Application 几个用法

作者:vkvi 来源:ITPOW(原创) 日期:2015-4-10

ASP.NET 中的 Global.asax 中,可以做到无人访问时程序也定时执行,比如你可能需要每天晚上 8 点对当日订单进行存档,而你不希望人工去操作,就由机器来自动执行。

怎么做呢?就是在 Application_Start 中放一个 Timer 定时器,定时执行你要的代码就是了。

那么我们就对 Application_Start 来作一个解释。

Application_Start 什么时候被执行?

第一个人访问网站时,网站即被启动,这个方法就被自动执行,除非网站关闭又再次有人访问,否则这期间 Application_Start 不会再次被执行。

关于这个只要有人访问网站,是指访问网站的任意内容,即使是图片、即使是 CSS、甚至是一个 404 找不到的文件,网站都被启动,这个方法就被自动执行。

如果两个网站(或者网站下的应用程序)共用一个应用程序池,二者的 Application_Start 是否有关联?

没有关联,Application 不是指应用程序池,这跟应用程序池没关系,网站 A  的 Application_Start 被执行了,不代表网站 B 的也会跟着执行,网站 B 要执行的话,随便访问一个页面,启动网站即可。

重启网站后,Application_Start 会自动执行吗?

重启网站后,要有人访问一下网站,Application_Start 才会执行。

顺便说一下 Application_End,有些人想在 Application_End 中放些执行代码,这可不一定执行得到噢,因为程序都结束了,哪有容你执行的环境呢。

相关文章