【发布时间】:2014-03-10 22:59:56
【问题描述】:
我有一个 Web 应用程序正在 Windows 8.1、.NET 4.5.1、IIS 8.5(在 Integrated AppPool 下)、Visual Studio 2013 上通过包含 ASP.NET Identity、Owin 等的默认模板开发,并且在本地它可以工作很好。
然后我使用 IIS 7.5(集成管道)主机将其上传到 Windows Server 2008,我得到:
此操作需要 IIS 集成管道模式。
异常详情:
System.PlatformNotSupportedException: 此操作需要 IIS 集成管道模式。堆栈跟踪:
[PlatformNotSupportedException: This operation requires IIS integrated pipeline mode.] System.Web.HttpResponse.get_Headers() +9687046 System.Web.HttpResponseWrapper.get_Headers() +9 Microsoft.Owin.Host.SystemWeb.OwinCallContext.CreateEnvironment() +309 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.GetInitialEnvironment(HttpApplication application) +246 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.PrepareInitialContext(HttpApplication application) +15 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(Object sender, EventArgs e, AsyncCallback cb, Object extradata) +265 System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +285 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
除了指导读者将管道从经典模式更改为集成模式外,我找不到任何东西,我已经这样做了,但没有成功。
我可以做些什么来解决这个问题? “Microsoft.Owin.Host.SystemWeb”不喜欢 IIS 7.5 什么的吗?
【问题讨论】:
-
堆栈跟踪中还有其他内容吗? HttpApplication.ExecuteStep 下面没有框架?
-
不,只有 .net 框架版本号的页脚:(版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.18067)
-
:( 确实。奇怪的问题:如果您使用 Empty Web Application Project 模板并添加单个 Default.aspx 行 和 ,它在您的生产服务器上输出什么?可能运行时错误地识别了正在使用的 IIS 模式。
-
返回 False,7.5。但它返回了我为管道设置的错误......我设置经典它是错误的,我设置集成它也是错误的。我把问题转发给了楼主。我现在正在等待回复。
-
查看下面的链接,它对很多人都有效:stackoverflow.com/a/5918197/1912383
标签: asp.net iis integrated-pipeline-mode