关联ASP.NET,WCF,APP。域,实例,进程,应用程序。池,w3wp.exe
题
情况:我有一个致电WCF服务的网站,我正在尝试理解它。
问题:考虑我有一个ASP.NET(IIS7托管)网站,如何将AppDomain,W3WP.EXE流程,实例,App.Pool。服务器和Windows服务..在ASP.NET网站和网站呼叫WCF的多个请求时。如何相互关联?我有点困惑...如果可能的话,你们中的任何人都可以放一个图表以将其关联。
非常感谢您的回应
解决方案
您到底需要知道或不了解什么?
- w3wp.exe是IIS用于运行AppPool的过程
- AppPool是一个IIS概念,不存在.NET中
- 每个网站应用程序都在其自己的应用程序中运行
- AppPools在同一过程中运行多个网站应用程序
- AppDomain是一个.NET概念,该概念与代码在应用程序内部执行,建立边界等方面的执行方式有关。
- 来自MSDN:代表一个应用程序域,该域是一个隔离的环境,应用程序执行。
- 您可以在同一过程中拥有许多应用程序,但是AppDomains不能在不同的过程中生活。
- 一个应用程序中的代码可以创建新应用程序
- 您可以通过远程进行跨应用程序边界进行交流
- 在同一过程,另一个过程甚至在远程计算机上与另一个AppDomain通信的技术是相同的。
.NET中的所有代码必须在AppDomain中执行。如果您在ASP.NET应用程序中托管WCF服务,WCF服务将与ASP.NET应用程序同一应用程序运行(请参阅WCF和ASP.NET http://msdn.microsoft.com/en-us/library/aa702682.aspx)。在这种情况下,AppDomain将在IIS内部的AppPool中运行,但这与.NET无关。
如果您在Windows服务中托管WCF服务,WCF服务将在Windows Service创建的AppDomain内部运行,此处不涉及AppPools。
如果您的执行路径是
- 客户端请求ASP.NET网页托管在IIS上
- Windows服务中托管的网页请求WCF服务
然后将有1个AppPool,1个W3WP.EXE进程,1个Windows Service Process和2个AppDomains。
我不知道您的问题是否与 WCF服务应用程序详细信息 ?
不隶属于 StackOverflow