Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 445
Mark Avatar asked Aug 26 '10 21:08

Mark


2 Answers

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.

like image 171
Dmitry S. Avatar answered Sep 20 '22 04:09

Dmitry S.


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.

like image 28
Oleg Avatar answered Sep 20 '22 04:09

Oleg