【问题标题】:How to programatically detect if my application is running in IIS 7.0 Integrated mode from within an ASP.NET page如何以编程方式检测我的应用程序是否在 ASP.NET 页面内以 IIS 7.0 集成模式运行
【发布时间】:2010-08-26 21:41:20
【问题描述】:

通常我们应该控制我们的 AppPools 并能够强制使用托管管道模式。在我的情况下,我没有控制权,并且希望基于托管管道模式(集成与经典)稍微不同地实现代码背后的代码。我只是不知道如何检测到这一点。有没有一种简单的方法可以在页面后面的代码中做到这一点?

【问题讨论】:

    标签: c# asp.net iis-7 integrated-pipeline-mode


    【解决方案1】:

    我在 .NET 4.0 中找到了一种无需引用 Microsoft.Web.Administration 程序集即可执行此操作的方法。 System.Web.HttpRuntime 类具有 UsingIntegratedPipeline 布尔属性。

    【讨论】:

      【解决方案2】:

      查看ApplicationPool.ManagedPipelineModeServerManager.ApplicationPools 属性。因此,您可以像 this 示例那样检查当前 AppPool 的 ApplicationPool.ManagedPipelineMode,但要对应用程序的 ApplicationPool 执行此操作,而不是像示例那样对默认应用程序域执行此操作。 ServerManager.ApplicationPools 包含所有池,包括您的池。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-12
        • 1970-01-01
        • 2020-10-03
        • 2012-04-27
        • 2012-09-22
        相关资源
        最近更新 更多