Windows 8.1、.NET 4.5.1、IIS 8.5(Integrated AppPoolの下)、ASP.NET Identity、Owinなどを含むデフォルトテンプレート上のVisual Studio 2013で開発されているWebアプリケーションがあります。ローカルでは正常に動作します。
次に、IIS 7.5(Integrated Pipeline)Hostを使用してWindows Server 2008にアップロードし、以下を取得します。
この操作にはIIS統合パイプラインモードが必要です。
例外の詳細:
System.PlatformNotSupportedException:この操作には、IIS統合パイプラインモードが必要です。Stack Trace:
[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などとは異なりますか?
アプリケーションプールはクラシックモードですが、起動するには統合モードが必要です。統合モードに変更します。
IIS Managerを開きます
アプリケーションプール
アプリが実行されるプールを選択します
右側のパネルで「基本設定」を選択します
統合されたパイプラインモードの変更を管理する
Response.Headers.Add()
の代わりにResponse.AddHeader
を使用してみてください
私は同じ問題を抱えていましたが、次のようにして解決しました:
Visual Studioで、[プロジェクトプロパティ]を選択します。
「Web」タブを選択します。
[ローカルIIS Webサーバーを使用]を選択します。
「IIS Expressを使用」をチェックします
このエラーは、デプロイされたアプリケーションが属するアプリケーションプールが統合モードではないことを意味します。
この問題を修正する方法はIIS内ではありません。 Visual Studio内のIIS Express内でアプリケーションを実行しようとしていました。私はウェブを検索し、いくつかの記事はsystem.webタグにIDタグを追加するように言っていました。これは正しい方法ではありません。
この問題を解決する方法は、プロジェクトファイルをクリックしてプロパティに移動することでした。管理されたパイプラインの下で、プロパティ値をクラシックから統合に変更しました。
これで問題が解決しました。
Visual Studio 2012 while デバッグエラーが発生した場合
ウェブサイトメニュー-> IIS Expressを使用やってくれた
次の手順でこの問題を解決しました。
役立つかもしれません。
VS2012を使用している人
プロジェクトに移動>プロパティ> Web
[ローカルIIS Webサーバーを使用]をオンにします
[Use IIS Express]をオンにします
プロジェクトURL http:// localhost:PORT /
GitHub ソリューションは、追加することで問題を解決しました