2015-04-02 26 views
2

作爲擺弄ASP.NET 5的一部分,我一直在探索CoreCLR,並且無法弄清楚代碼如何通過OWIN規範發現它是在IIS上運行還是自行託管。讓代碼知道ASP.NET 5應用程序是自託管還是在IIS上運行的CoreCLR解決方案?

我可以把在System.Diagnostics和探討當前進程(klr自主機和iisexpressW3wp爲IIS),但我想知道是否有辦法做到這一點只用CoreCLR。可能通過以某種方式檢查請求管道,並看到IIS是其中的一部分?

的MusicStore庫的樣本中

回答

0

我看一條線,可能是有用的:

bool isMono = Type.GetType("Mono.Runtime") != null; 

這裏的示例代碼https://github.com/aspnet/MusicStore/blob/master/src/MusicStore/Startup.cs

+0

'Type.GetType()'是不可用的CoreCLR。 – Tem 2015-04-07 22:15:24

+0

以及您如何看待asp.net團隊使用它?它可能在另一個(新的)包。檢出項目代碼。 – 2015-04-07 22:17:11

+0

沒關係,你是對的,即使VS 2015 CTP 6在編譯之前告訴我,除非我明確地只在project.json中選擇了Core。該解決方案可以工作,但我找不到CoreCLR運行時的正確字符串(即使在Windows上運行)。我能找到的最近的是[這裏](http://aakinshin.net/en/blog/dotnet/jit-version-determining-in-runtime/)。 – Tem 2015-04-07 23:22:35

相關問題