asp.net的Application_Start的一些疑问

在Global->Application_Start(objectsender,EventArgse)里设置了一个timer,每隔一分钟就会判断一下当前时间是否到了... 在Global-> Application_Start(object sender, EventArgs e)里设置了一个timer,每隔一分钟就会判断一下当前时间是否到了某个时间,到了的话就启动一个线程去完成一些大数据量更新到库的操作。 现在想问的是:网站上传到空间以后,Application_Start是在什么时候才启动的? 如果没有一个用户打开网页,那Application_Start是不是不会启动了? 那如果在线程正在执行当中(可能要2-3个小时才执行完),这时所有用户都关闭了网站,那这个线程和timer会不会失效不执行了? 望指教!感谢。 展开
 我来答
百度网友1b491e1
2012-05-23 · TA获得超过1036个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:542万
展开全部
简要说明:你iis应用程序池什么时候运行他就什么时候工作。

ps:你要的这个功能,实际在iis7.5中才有,asp.net 4+iis7.5允许程序预启动你的代码,也就是即使是iis应用程序池重启,他也会在第一时间内运行你的指定代码(不管用户防问还是没访问,他都会预先加载)

而在iis7.5以下配置你,我个人不建议使用你目前的方式。我们通常自己写window服务,脱离iis环境独立设置更新任务,或者利用系统任务,或者利用sql数据库定时作业去完成这样的要求
匿名用户
2012-05-23
展开全部
1、Application_Start在第一个浏览网站的用户访问时启动;
2、当线程正在执行且没有挂起时,不会因为所有用户退出而停止执行。但当服务器IIS应用程序连接池到达超时时间且没有任务正在执行时,会自动停止。
3、不建议在Application里边执行多线程操作,容易引起内存爆满IIS崩溃。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友858487d
2012-05-23 · 超过28用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:77.2万
展开全部
Application_Start在你的应用第一次接收到请求时启动,通常而言也就是第一用户访问你网站的主页时.
如果没有一个用户打开网页,那Application_Start是不是不会启动了?--是的
那如果在线程正在执行当中(可能要2-3个小时才执行完),这时所有用户都关闭了网站,那这个线程和timer会不会失效不执行了?--不会失效,如果没有主动关闭主站(即在IIS中停止),或者网站因内存泄露等问题而崩溃或者主站IIS或Server Down掉,Application_Start事件是不会停止的.如果Application_Start事件因为意外停止了,网站的数据库会回滚到这个DB Batch启动之前的状态的. 重启Application_Start事件后重新跑DB的操作,是不会有问题的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蒲雨平鸿风
2020-06-14 · TA获得超过3944个赞
知道大有可为答主
回答量:3051
采纳率:31%
帮助的人:201万
展开全部
上传后就启动跟有没有用户访问无关难道说没人访问你的网站就不存在吗?有人访问的时候才存在?根本不是这个逻辑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式