对w3wp.exe的一点认识!
实现这个功能的思路比较简单:获取该网址的Html源代码,通过正则表达式过滤出有用的数据,将这些有用的数据生成RSS文件.
文件是生成了,但是我们总不能一直看同样的内容吧!还要定时更新RSS文件的内容,那么就要我们的程序定时执行来生成RSS文件,这就是我今天所要说的主要内容!
要想叫web应用程序定时的执行,那么我们首先就要保证这个进程(W3WP.EXE)在运行.也就是说负责管理这个应用程序的进程要一直运行.
那么我就说点关于W3WP.EXE的知识.
1.W3WP.EXE,应用程序,应用程序池之间的关系
一个应用程序池可以包含多个应用程序,一个应用程序池创建一个W3WP.EXE进程.那么我们就不能简单的说一个应用程序对应一个W3WP.EXE进程了!
其实是多个应用程序对应一个W3WP.EXE进程的.
2.如何启动和关闭W3WP.EXE这个进程
W3WP.EXE这个进程将在你访问www应用程序的时候启动.有人就会这么问了:"我启动了一个Web应用程序,发现系统自动创建了一个W3wp.exe进程。但我关闭这个Web应用程序后,发现这个刚创建的W3Wp.exe进程还在,请问如何关闭该进程。"
这个进程不会在你关闭了这个程序以后,就马上关闭的.那是因为Http是无连接的访问,当你关闭了web网页,不会返回相应的关闭信息,所以W3WP.EXE这个进程不会因为你关闭了web应用程序尔关闭.
那么如何关闭这个进程呢?在应用程序池的配置中,"空闲超时"中设定合适的时间,系统默认的是20分钟.设定好指定的时间,那么在这个时间范围内没有在访问应用程序,那么系统会自动的关闭W3WP.EXE这个进程的.而不需要我们人为的干预的.
要是你有这个精力的话,也可以在Windows任务管理器里面,结束这个进程的生命(^_^)!
3.如何让W3WP.EXE进程长时间的运行.
W3WP.EXE这个进程的默认生命是1740分钟,但依然是在这种默认的自然规律下,W3WP.EXE将在自己失业20分钟后,被系统直接枪杀.
这样就可以看出,要想让W3WP.EXE长时间的生存,那我们可以通过”空闲超时”不作处理来达到我们的目的.
这样可是缺点多多,但是为了达到个人的私欲,这又算什么.本来也不是什么正式的项目.
4.如何降低W3WP.EXE占用的内存和CPU
结合网上的诸多建议,主要的解决办法是:
a.在IIS中对每个网站进行单独的应用程序池配置;
b.合理的配置你的应用程序池;