社区
C#
帖子详情
如何延长web应用程序的存活时间,以保证httpmodule里定时任务能一直执行
ff167
2009-06-09 09:58:59
加精
在httpmodule里写了一段代码,主要是通过timer定时执行任务。
如果页面长时间没人访问了,web应用程序被回收了,这个定时执行的任务就挂掉了。
有没有办法能将这个回收的时间延长,比如说调成24小时?以保证web定时任务的执行。
...全文
340
66
打赏
收藏
如何延长web应用程序的存活时间,以保证httpmodule里定时任务能一直执行
在httpmodule里写了一段代码,主要是通过timer定时执行任务。 如果页面长时间没人访问了,web应用程序被回收了,这个定时执行的任务就挂掉了。 有没有办法能将这个回收的时间延长,比如说调成24小时?以保证web定时任务的执行。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
66 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
axwj1314
2010-08-01
打赏
举报
回复
好帖,最近也在做定时生成,但是没明白
tsmoon2009
2010-01-26
打赏
举报
回复
回帖是一种美德!每天回帖即可获得 10 分可用分!
laopiao2000
2009-06-12
打赏
举报
回复
学习中
AKULAKK
2009-06-11
打赏
举报
回复
可以在global中编码,当applicaton_end的时候把任务实例状态序列化到硬盘上
在application_start事件触发的时候,再把硬盘的实例反序列化到你的httpmodule中,即可实现无缝timer运作.
如果要考虑断电或者死机的情况,建议再做个定时器每隔5秒钟把你的任务实例序列化到硬盘上,这样至少可以保证最迟5秒内的数据完整性.
justin麒麟
2009-06-11
打赏
举报
回复
没明白问的是什么
xfreyes
2009-06-11
打赏
举报
回复
想法很诡异
yanm7788
2009-06-11
打赏
举报
回复
嗯 关注
biyaotian
2009-06-11
打赏
举报
回复
访问一下 就像递归一样
MasDn
2009-06-11
打赏
举报
回复
可以自己访问自己的网页啊
webclient
定时访问一下 就像递归一样
易企加_天马行空
2009-06-11
打赏
举报
回复
[Quote=引用 51 楼 wanghui0380 的回复:]
lz的专研精神让人佩服,但很明显的是方向上出了点问题
asp.net和基于iis和http协议的,那么其受iis应用程序池的控制,受http这个无连接协议的控制
如果单纯考虑http协议,http是无连接滴,又不能时时刻刻保证有人访问,那么可能的解决方法是 新开一个线程,然后在这个新线程的里去做你要做的事情,就能很好解决你最早的那个time out问题
但是asp.net同时受iis管控,asp.net的执行实际是在iis程序池里管控滴,相当于是…
[/Quote]
分析的有一定道理
你的代码好像没启动timer吧
建议你把timer和需要更新的静态变量放到同一个静态类里
然后在静态构造函数里去初始化timer的参数,以及start
这样,即使像这位仁兄说的重新开了一个进程,那么只要访问静态变量,都会启动timer的。
xudongdong_1990
2009-06-11
打赏
举报
回复
关注,顶!
xudongdong1990
2009-06-11
打赏
举报
回复
学习了,帮顶!
wanghui0380
2009-06-11
打赏
举报
回复
lz的专研精神让人佩服,但很明显的是方向上出了点问题
asp.net和基于iis和http协议的,那么其受iis应用程序池的控制,受http这个无连接协议的控制
如果单纯考虑http协议,http是无连接滴,又不能时时刻刻保证有人访问,那么可能的解决方法是 新开一个线程,然后在这个新线程的里去做你要做的事情,就能很好解决你最早的那个time out问题
但是asp.net同时受iis管控,asp.net的执行实际是在iis程序池里管控滴,相当于是应用程序池进程下的某个线程
而应用程序池是定时重启滴,不知道你观察过iis和进程的关系没有,如果有人访问某个站,iis会启动w3wp.exe去开启一个新的进程,同时去启动某个线程,并在线程里运行该站的实际代码。如果你仔细观察一下回收应用程序池时的进程状态,你回发现,在那一瞬间实际iis是重启开启了一个新的w3wp.exe进程,然后关闭原来w3wp.exe进程。现在就能很好解释你后面那个readonly的问题了,进程都已经变了,你认为那个readonly 还能起效吗?
所以:你实际要选择的事情是
1.要能脱离http无状态的限制,保证你时时刻刻运行
2.要能脱离iis管控,一直保持自己的进程
呵呵,再看这两个要求不是window serviecs是啥??
hangang7403
2009-06-11
打赏
举报
回复
up
thinkpi
2009-06-11
打赏
举报
回复
我也用的timer
wuyuleidi
2009-06-11
打赏
举报
回复
ding ~!
qiuzhengxiang
2009-06-11
打赏
举报
回复
up
Azrael_Art
2009-06-11
打赏
举报
回复
学习!
minioreo
2009-06-10
打赏
举报
回复
[Quote=引用 7 楼 vincent_utem 的回复:]
我也正在寻找同样问题的答案,我现在就是使用windowservice来做的。但是有个问题,如果我要定期更新一些静态变量呢?windowservice好像就不大好实现了,毕竟不是不同的内存空间,那该怎么办呢?
[/Quote]
可以用.net remoting来更新Windows Service里的变量达到通知目的。
骨头G
2009-06-10
打赏
举报
回复
关注中
加载更多回复(42)
知识点学习登记备份信息
比较常见的: 1)线程上下文类加载器,典型的:JDBC使用线程上下文类加载器加载Driver实现类 2)Tomcat的多
web
应用程序
3)OSCI实现模块化部署 2.24为什么要破坏双亲委派模型 原因很简单,无法满足需求,只能破坏 ...
JUC初阶学习
内存交互操作 19、Volatile 1、
保证
可见性 2、不
保证
原子性 3、禁止指令重排 20、彻底玩转单例模式 1、饿汉式 2、懒汉式 3、单例模式的应用场景 21、深入理解CAS 1、什么是CAS 2、unsafe类 3、CAS:ABA问题(类似...
win10/win11共享打印机提示错误0x00000057,0x00000709,0x0000011b或者连接失败内存不足等故...
在Windows 10或Windows 11操作系统中,用户经常会遇到共享打印机时出现的一系列错误代码,这些错误代码可能会阻碍打印机共享功能的正常使用。常见的错误代码包括0x00000057、0x00000709和0x0000011b,这些代码通常指出了不同的问题,比如权限不足、服务未运行或配置错误等。除此之外,还有一些故障提示如“连接失败”或“内存不足”,这些都可能影响到打印机共享的稳定性。 要解决这些故障,首先要确保打印机已经正确地连接到网络,并且在需要共享的电脑上进行了设置。确保打印机驱动程序是最新的,并且在共享设置中没有错误配置。对于权限问题,需要检查网络上的用户账户是否具有足够的权限来访问共享打印机。同时,也要确保打印机服务正在运行,特别是“Print Spooler”服务,因为这是打印机共享服务的核心组件。 在某些情况下,问题可能与操作系统的更新有关,如升级到最新版的Windows 10或Windows 11后可能出现的兼容性问题。这时,可能需要查看微软的官方支持文档来获取特定的解决方案或更新。 对于错误代码0x00000057,这通常是由于没有足够的权限来访问网络打印机或其共享资源,解决方法是确保网络打印机的权限设置正确,包括在组策略中设置相应的访问权限。而0x00000709错误可能是由于打印机驱动问题或打印机端口配置错误,可以尝试重新安装或更新打印机驱动来解决。至于0x0000011b错误,这往往是因为打印机队列服务的问题,检查并重启“Print Spooler”服务通常是解决这类问题的常见手段。 至于“连接失败”或“内存不足”这类故障,通常与客户端和打印机之间的网络连接以及打印机本地资源的使用情况有关。检查网络连接,确保打印机所在的网络段没有故障或中断。同时,如果打印机的打印队列长
时间
得不到处理,可能会导致内存不足的情况,这时可能需要清理打印队列或增加打印机的内存配置。 为了帮助用户更快速地解决这些问题,市面上出现了各种打印机共享错误修复工具。这些工具往往通过预设的修复程序来自动检测和修正打印机共享中常见的问题。它们可以快速检查打印机驱动、网络连接以及共享设置,并且能够提供一键修复功能,大幅减少了用户自行排查和解决问题的难度。 然而,在使用这些修复工具之前,用户应确保这些工具的来源是安全可靠的,避免因使用不当的修复工具而引发其他系统安全或隐私问题。用户可以到官方平台或者信誉良好的软件提供商处下载这些工具。通过细心检查打印机的共享设置,及时更新驱动程序和服务,以及合理使用修复工具,大多数共享打印机的问题都可以得到有效的解决。
### 汽车车身密封条系统设计规范总结
内容概要:本文档提供了关于汽车车身密封条设计的全面指南,涵盖密封条的定义、分类、材料选择、结构设计、安装方式、生产工艺、设计流程及验证方法。具体内容包括密封条的分类依据密封功能和装配部位,详细介绍了EPDM、PVC、TPE等材料的性能特点及其生产工艺,强调了密封条设计中的关键参数如密封间隙、压缩量、压缩方向等,并通过典型断面设计和CAE分析确保设计合理性。此外,文档还详细描述了密封条在不同车身部位如发罩、行李箱、车门、玻璃导槽、前后风窗及顶盖的具体设计要求和注意事项。最后,文档列举了密封条设计和制造中的常见问题点,并提供了相应的解决方案。 适用人群:从事汽车车身设计、制造及质量控制的工程师和技术人员。 使用场景及目标:①帮助设计师理解并掌握不同类型密封条的设计要点和工艺要求;②指导工程师进行密封条的设计开发、材料选择及性能验证;③为生产和技术人员提供解决密封条常见问题的参考方案。 其他说明:文档内容详尽,结合大量
基于springboot+vue+mysql的疫苗发布和接种预约系统(源码+论文+开题报告).rar
采用前后端分离架构,包含数据库文件,代码经过完整测试,
保证
可以运行,内部包含详细的运行说明文档,如遇运行问题可私信博主。 本项目主要面向计算机相关专业中正在筹备大作业、毕业设计的学生,以及渴望通过实战项目提升编码能力的自学者,系统难度设计贴合教学需求,功能模块覆盖全栈开发核心知识点,所有代码与文档均经测试审核,学习者可放心下载参考或直接用于课程实践。
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章