当前位置: 首页 > 编程笔记 >

IIS进程回收导致定时器失效的解决方法(CMD命令)

长孙景天
2023-03-14
本文向大家介绍IIS进程回收导致定时器失效的解决方法(CMD命令),包括了IIS进程回收导致定时器失效的解决方法(CMD命令)的使用技巧和注意事项,需要的朋友参考一下

公司开发的网站使用的.net,网站中用到了定时器,放在Global.asax.cs文件中,但由于IIS设置了网站进程定期回收,回收后定时器也就没了。如果不让进程回收,又担心程序中有内存泄露。有人说可以在Application_End发起HTTP请求,但这样做和设置不让进程回收没有任何区别,结果就是该进程一直运行,只有保证不存在内存泄露才可以这样做。也有人说可以用Windows Service,对这个不了解,所以这招放弃了。最后想到了一个方法,编写脚本命令(这里用DOS命令)访问网站,再通过Windows的任务计划来定时执行脚本。.bat文件如下,直接运行该.bat,发现会用IE浏览器打开www.baidu.com,几秒后关闭,看来命令运行是OK的。


::访问网站,触发定时器

::ping10次后关闭,10次大约延时10秒左右,不是很精确,然后关闭IE浏览器进程及子进程

 start iexplore.exe  www.baidu.com ::为了保密,这里没写真正要访问的网站

 ping -n 10 127.0.0.1>nul 

 taskkill /f /im iexplore.exe  /t

任务计划在附件——系统工具中,可以“创建基本任务”和“创建任务”,前者比较简单,定时器的最短间隔为1天,后者功能更强大一些,定时器的最短间隔为1分钟。这里我使用“创建任务”,在“常规”中可以设置“只在用户登当运行”或“不管用户是否登录都要运行”,这里设置“不管用户是否登录都要运行”(注:选择该项时,设置完所有参数后会要求输入账户密码,如果账户密码为空,会提示错误,但貌似空密码也有解决办法),配置选与自己电脑的匹配的那项。建立好任务后,当定时器时间到了却没有打开IE浏览器的窗口,再看任务管理器,有进程iexplore.exe,而且网站也的确被访问了(在计划任务运行之前,网站进程是关闭的,而且可以保证该段时间内没有人访问,现在发现网站进程运行中),经过多次设置参数和测试,结果依旧。但如果设置成“只在用户登当运行”,却可以看到定时器到后会打开IE窗口。后来在CSDN看到一个帖子,里面有人说如果设置为“不管用户是否登录都要运行”,那程序就后台运行,要想看到交互界面,就要用DOS命令at添加任务计划。自己想了想,貌似真的是这样,但知道程序在后台运行了就OK了,看不到界面也无妨,也许这是Windows的一个bug吧。

缺点:

1、任务计划的定时器最短间隔为1分钟,如果再短的,就无能为力了,其实即使可以,也不要用这种发HTTP请求的方法去激活网站进程,之前设置每5秒发一次HTTP请求,最后服务器挂了,只能重启,原因也没查出来(后来知道不是因为HTTP请求频繁导致的,至于HTTP请求频繁会不会导致死机,我不清楚。通过事件日志,发现本次死机是因为Windows自动更新后重启,电脑是3点多开始重启的,但到9点了还没起来,后打电话问万网的客服,他们说电脑还在关机界面,看来应该是自动更新的问题。让他们重启后,就OK了,然后禁用了自动更新)。

2、关闭IE就意味着关闭所有页面,如果我们这时正在用IE看其它网页,那也会关闭,不过还好,因为是在服务器上,一般没人打开IE。

 类似资料:
  • 本文向大家介绍BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法,包括了BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 我用过的两个版本: v0.5.2-dev,0.4.5 这里针对于提交方法进行说明一下,如下代码: 以上所述是小编给大家介绍的Boot

  • 我试图设置詹金斯拉,并建立一个项目从bitbucket。 我在IIS 8.5 Server 2012 r2上使用这个。我已经设置了Git和Bitbucket插件。 我已经建立了一个项目: 我不确定这是否是问题的一部分,但我的回购中只有这一个分支。 运行构建时,我收到以下错误,我找不到任何有关无效ID的信息,任何人都可以为我指出正确的方向吗? 它看起来像是从上次提交中获取哈希,然后说无效ID,我不确

  • 本文向大家介绍uniapp微信小程序:key失效的解决方法,包括了uniapp微信小程序:key失效的解决方法的使用技巧和注意事项,需要的朋友参考一下 uniapp 代码 编译到 微信小程序 貌似不支持 :key="item[urlKey]" 这种语法 解决方案: 使用computed就可以解决了 到此这篇关于uniapp微信小程序:key失效的解决方法的文章就介绍到这了,更多相关uniapp小程

  • 本文向大家介绍listView的item中有checkbox,导致setOnItemClick失效的原因及解决办法,包括了listView的item中有checkbox,导致setOnItemClick失效的原因及解决办法的使用技巧和注意事项,需要的朋友参考一下  一:item的根布局设置 Android:clickable="true",之后导致item点击事件失效,对根布局设置android:

  • 在添加依赖项实现的com时。阿佐夫特。转盘:转盘:1.2。4'对于我的项目,Android Studio抛出的异常未能解决:recyclerview-v7。然后我尝试为recyclerview添加依赖项。仍然得到相同的错误。

  • 本文向大家介绍WIN2003 IIS相关错误的解决方法,包括了WIN2003 IIS相关错误的解决方法的使用技巧和注意事项,需要的朋友参考一下 我碰到的主要问题是:“Server Application Unavailable 错误”、“无法显示网页”: 1、如果你的.NET版本是2.0及以上的话,那要注意了:win2003是默认安装1.1的,安装.NET2.0 后,可能会程序应用程序池冲突,具体