我也是租的空间,西部数码的,跟他们沟通了几次,也不是不可以改。他们帮我调成了1440,对我来说够用了。
IIS7.5+.net4.0针顷歼尺对这个问题还有一个解决方案,雀高就是使用startmode="alwaysrunning"这种方式,从IIS启动之后就开始了这个Application,无论是否有人访问,一直运行。可惜如果要去租主机的话,找到IIS7.5的可能性微乎其微,过几年吧。
如果前面说的都不行,那就只能有最后一个办法。那就是保持有一台机器开着,在这个Application下写一个文件,用JavaScript每隔几分钟就自我刷新一下,浏览器一直开着,这样就强制让它处于被改含访问的状态。但这个方法并不稳定,改配置时间才是王道。
1、首先,可以在webconfig中全局配置http请求超时(单位为秒,默认为90秒),如下图所示,然后进入下一步。
2、其次,执行完上面的 *** 作之后,直接转到IIS进行设置:IIS-Website-Restrictions,如下图所示,然后进入下一步。
3、接着,执行完上面的 *** 作之后,设置一个较大中如裂的值并分析具体情况,如下图橡袜所示,然后进入下一步。
4、然后,执行完上面的 *** 作之后,数据库连接超时和数据库配置卖闭文件my.ini,以及数据库参数查询方法,如下图所示,然后进入下一步。
5、最后,执行完上面的 *** 作之后,应用程序池回收(底部)非常低。将其设置为适当以完成,如下图所示。这样,上面的问题就得到解决了。
IIS一般默认 应用程序池有设置固定时间间隔(分钟) 默认1740,以及闲置超时(分钟) 默认20;如果我们 asp.net core+quartz.net 部署在IIS上执行长期定时任务时,需要将上来两项内容设置成0,(不回收);不然我们的定时任务会在IIS做回收时清理掉我们的定时任务。导致任务停止;如果可以做定期检测也是一种方式,本人比较偷懒,罩纤就不做回收。但是否会造成其他问题,需要观察iis程序池默认回收时间为1740分钟(29小时),若要自定义为不回收, *** 作如下,这样IIS除非手动回收,否则不会自动回收1 在IIS中找到这个站点所用的程序池,点击“高级设置…”
2 回收——固定时间间隔(分钟) 改为 0
3 回收——虚拟/专用内存限制(KB) 改为 0
4 进程模型——闲稿李置超时(分钟) 改物敬仿为 0 那一定是IIS的应用程序池回收的机制在作怪了。因为IIS的默认设置里面,如果一个站点所处的应用程序池超过一段时间没有被访问或者请求,IIS就会自动回收这个程序池,并且把进程杀掉。那进程里面的线程肯定也活不下来了。
但是我们可以通过设置应用程序池参数使其不会被简单的自动回收(有些情况无法避免,比如热部署的站点,错误数量超限等等)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)