有个棘手的问题求教各位,我的asp.net MVC项目中,里面有个线程socket方式来接收数据,部署到IIS上能正常运行,访问web也能正常接收到数据,问题是当我关闭该网站的所有web页面时,socket的接收数据的线程好像就不在运行了。估计应该是和IIS的运行机制有关,但是具体不明白,求教大神们详解,帮忙给个方案解决,不甚感激
IIS会回收进程,进程会直接退出,重新访问的时候,会让应用程序池重启,这时候才能继续接受请求,要解决这个问题其实很简单,写一个程序(也可以直接嵌入你当前的网站程序里面,自己请求自己)模拟请求网页,每5分钟请求一次,这样IIS就认为有访问,不会回收进程
是的,可以用上面的方法,但是为了稳定性,我是把应用程序池的回收时间取消掉了
会回收的,你要到iis里设置回收时间,默认好像是15分钟
不会吧,服务器回收的应该是线程,监听端口不应该回收呀,要不乱套了。
对呀,IIS是一问一答,回答完了,它就休息了。无状态协议
如果有一段时间没人访问iis进程如w3wp.exe会自动退出。iis的端口监听应该是由一个叫www的服务负责(这个不太确定),但处理请求是让iis进程来做的。