调试部署在IIS上的ASP.NET程序实用小技巧

远程调试ASP.NET程序,似乎是每一个做ASP.NET的人都肯定要掌握的技能,大家都知道,从IIS6开始,就有了application pool(应用程序池)的概念,每个应用程序池都会有单独的worker process,这样可以保障不同的应用程序池之间互相不会影响,就好像MySpace上有博客应用,有论坛应用等等……如果这些应用都用的同一个应用程序池,那么只要一个挂了,其他的也跟着挂。但是如果每个站点都单独使用一个应用程序池,那么A站点挂了对B站点不会有影响。同时如果A站点有部署更新,需要回收应用程序池,B站点不受影响,照常工作。

创建多个应用程序池虽然好处多多,不过却增大了调试的难度。假如一台服务器上有5个站点,那么正常运行的情况下就会有5个w3wp.exe进程,要找到合适的进程进行调试就是一个问题,以前比较笨,就看哪个进程的ID比较小,或者哪个进程占用的内存较多来“判断”,今天发现其实微软有一个非常靠谱的方法。

1. 打开一个命令行窗口

2. 浏览到“Windows > System32”

3. 运行“cscript iisapp.vbs”

得到如图结果,哪个应用程序池对应哪个W3WP.EXE一目了然,从此告别瞎猜

IIS-WORKER-PROCESS

1 thought on “调试部署在IIS上的ASP.NET程序实用小技巧”

Leave a Reply

Your email address will not be published. Required fields are marked *