这几天看了asp.net工作原理,在IIS5和IIS6下asp.net处理是有些不同的。
inetinfo.exe通过命名管道与aspnet_wp.exe通信,处理用户请求。
看了很多资料IIS5.x还没有引出应用程序池的概念,它是如何管理多应用程序的。
疑问:
如果有2个应用程序,它们是分别在各自的aspnet_wp.exe进程上吗?还是在同一个进程上?
若是前者,进程之间已经隔离,appDomain有点多余
如果后者,appDomain隔离它们。
疑问:
1.到底是在共同的进程上,还是在不同的进程上??
2.appDomain是IIS5还是IIS6出现的?
没IIS5环境,求指点
appDomain在IIS5中已经存在,那推测出
多个应用程序在一个aspnet_wp.exe进程下,通过AppDomain隔离?
如果是iis5,所有虚拟目录里面的application都运行在一个work process里面,每个application对应一个appdomain,通过appdomain来进行隔离。
如果是iis6,出现了application pool,这种情况下,又有所不同。一个app pool对应一个work process,接下来的事情就和iis5类似了,同属于同一个pool的application们通过appdomain来隔离。
楼上的图很清楚,可以仔细看一下。