Windows 8.1、.NET 4.5.1、IIS 8.5(Integrated AppPool下)、Visual Studio 2013で、ASP.NET Identity、Owinなどを含むデフォルトのテンプレートを使ってWebアプリケーションを開発していますが、ローカルでは問題なく動作しています。
その後、IIS 7.5 (Integrated Pipeline) Hostを使ってWindows Server 2008にアップロードしたところ、次のようになりました。
この操作にはIISの統合パイプラインモードが必要です。 と表示されました。
Exception Details: System.PlatformNotSupportedException:この操作にはIIS統合パイプラインモードが必要です。 と表示されます。 スタックトレース: となります。 [PlatformNotSupportedException:この操作には IIS 統合パイプラインモードが必要です]. 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"はIIS7.5が嫌いなのでしょうか?
アプリケーションプールはクラシックモードですが、アプリケーションの起動には統合モードが必要です。
1.IIS マネージャを開きます。
1.アプリケーションプール
1.アプリケーションを実行するプールを選択します。
1.右パネルで「基本設定」を選択
1.Manage Pipeline ModeをIntegratedに変更します。
私のホストであるIISは、私の質問で述べたように、すでに統合されたパイプライン・モードになっているのに、統合されたパイプライン・モードが必要だと訴えるべきではないので、これは奇妙な問題でした。
色々と検索してみましたが、パイプラインをクラシックモードから統合モードに変更するように指示している以外は何も見つかりませんでした**。
Levi's]2の指示に従って、 and <%を入れました。System.Web.Hosting.HttpRuntime.UsingIntegratedPipeline %>
* を空の aspx ページで実行し、ホストに事情を話して問題の修正を依頼し、アップロードしたページで問題を確認したのですが...。ページの状態に何か変化がないかどうかを頻繁にチェックしましたが、解決までに3~4時間かかったようです...。<%:System.Web.Hosting.HttpRuntime.IISVersion %>
問題を解決するために何をしたのかを尋ねたところ、彼らの答えは 'classified'のようなものでした。
我々のチームはサーバー上で必要な変更を行いました。
問題はすべて私のホストにありました。
更新:** コメントでBenが述べているように となっています。
<%:System.Web.Hosting.HttpRuntime.UsingIntegratedPipeline %>
と。
<%:System.Web.Hosting.HttpRuntime.IISVersion %>
は有効ではなくなり、それらは現在
この問題を解決する方法は、IIS内ではありません。 私は、Visual StudioのIIS Expressでアプリケーションを実行しようとしていました。 Webで検索すると、system.webタグにidentityタグ
私がこの問題を解決できた方法は、プロジェクトファイルをクリックしてプロパティに移動することでした。 マネージド・パイプライン」で、プロパティの値を「クラシック」から「統合」に変更しました。
これで問題が解決しました。