How to programatically detect if my application is running in IIS 7.0 Integrated mode from within an ASP.NET page

柔情痞子 提交于 2019-12-07 01:00:28

问题


Generally we should have control of our AppPools and be able to force the Managed Pipeline Mode. In my case I don't have control and would like to implement the code behind code a little differently based on the Managed Pipeline Mode (Integrated vs Classic). I just don't know how to detect this. Is there a simple way to do it from within the code behind page?


回答1:


Look at ApplicationPool.ManagedPipelineMode and ServerManager.ApplicationPools Properties. So you can examine ApplicationPool.ManagedPipelineMode of the current AppPool about like this example do, but to do this for ApplicationPool of your application and not for the default application domain like the example do. The ServerManager.ApplicationPools contain all pools including yours one.




回答2:


I found a way in .NET 4.0 to do this without referencing the Microsoft.Web.Administration assembly. The System.Web.HttpRuntime class has the UsingIntegratedPipeline boolean property.



来源:https://stackoverflow.com/questions/3579770/how-to-programatically-detect-if-my-application-is-running-in-iis-7-0-integrated

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!