HttpContext.Current.Application来保存变量时,发现一段时间没有活动连接时,会和Session变量一样被自动回收,清空了,不知道修改什么地方可以实现生存周期的控制?
原来IIS6.0应用程序池的性能设置里可以设置回收空闲进程的时间,默认好象只有30分钟,怪不得.无论是static还是application都依赖进程,难怪都被回收了.
--------------------------
首先,如果是IIS6,那么涉及到worker process recycle的问题。一旦worker process被recycle了,也就是说启了一个新的w3wp.exe进程来处理新的request,那么application对象自然也就没了,新的进程会维护一个新的application对象。
关于recycle,可以参考:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/24e3c22e-79a9-4f07-a407-dbd0e7f35432.mspx
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/989a6b5c-289c-4a7c-95b5-175ee4c27159.mspx
如果是IIS5,或者IIS6运行在IIS5模式之下,亦或者是IIS6就算没有发生recycle,如果global.asa(对于ASP应用来讲)被改变了,比如你手动修改了里面的内容,或者对这个文件作了病毒扫描,那么会引起AppDomain的recycle,application会被重起,里面的内容自然也就丢失了。
这里也有篇文章你可以大概参考一下:http://support.microsoft.com/default.aspx?scid=kb;EN-US;248013
如果是ASP.NET应用的话,发生AppDomain recycle的情况更多了,比如global.asax、bin目录的改变等
--------------------------------
http://www.cqzol.com/programming/575411.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。