2010-09-22 53 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