2010-09-22 70 views
2

获取有关ASP.NET主机环境的详细信息我可以获得托管ASP.NET代码的过程(即Cassini,IIS等)的详细信息吗?如何从代码

我知道System.Environment,但它对于网络应用程序来说并不过分。

还有其他的东西可用吗?

感谢

回答

4

如果你只是有兴趣在什么样的,你是在运行环境中,你可以检查

AppDomain.Current.FriendlyName 

System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName 

我们有这样的测试项目中的:

AppDomain appDomain = AppDomain.CurrentDomain; 
if (appDomain.FriendlyName.ToUpper().StartsWith("/LM/W3SVC/") || // IIS 
    appDomain.FriendlyName.ToLower().EndsWith(".test.dll") ||  // Support for unit test as long as it ends with .test.dll. 
(System.Diagnostics.Process.GetCurrentProcess().MainModule != null) && System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName.Equals("WebDev.WebServer.EXE", StringComparison.CurrentCultureIgnoreCase))  // Support for Cassini. 
{ 
    ... 
} 

这不是很漂亮,但它的工作原理。

+0

谢谢你们,这两个有用的答案。接受@ StephaneT的,因为它有我正在寻找的数据(也许我的问题措辞不好),虽然非常有用,知道这两个建议以供将来参考! – 2010-09-22 16:28:52