2013-10-25 12 views
18

Visual Studio 2013で標準の新しいMVC 5プロジェクトを見ると、現在OWINが含まれていることがわかります。OWINはまだMVCを起動していますか(ASP.NET MVC)?

authを設定する新しいOWIN Startupクラスがありますが、MVC5がOWINにどのように登録されているのかわかりません。これはどこで起こるのですか?

ここでは、すべてのリクエストがMVCパイプラインに入る前にOWINを通過すると仮定しています。なぜ彼らにはOWINが含まれますか?

  • 注:OWINがどのように設定されているかはわかりませんが、ドキュメントで簡単に説明しています。私はMVC5がOWINをどのように使用するかに興味があります。
+0

これは、ASP.NET vNEXTがOWINとHeliosプロジェクトを使用するように見えます。 –

+0

それはちょうど推測ですか、またはOWINが使用されると言っているソースを見つけましたか?あなたがソースを見つけたら、それを共有してもよろしいですか? – Rune

+0

この記事では、Helios(OWIN上で動作し、System.Webを置き換えます)と統一されたMVC/Web.Apiが確認されています。 http://davidfowl.com/asp-net-vnext/ –

答えて

17

更新:MVC5がOWINの代わりにIISパイプラインで処理されても、MVC5がなぜOWINを使用するのかを理解しました。

MVC5はOWINを通過しませんが、今後変更される可能性があります。代わりにMVCは現在、IIS統合パイプラインを通過する必要があります。デフォルトのMVCプロジェクトにOWINが含まれるのは、MVC5がOwinミドルウェアコンポーネントを使用できるようにするためです。 OWIN middleware in the iis integrated pipelineから

OMCスタートアップ 構成によって、この同じ、イベントベースの実行 順序で刀ランタイムコードスキャンを参加するために、及びミドルウェア・コンポーネントのそれぞれをサブスクライブ 統合パイプラインイベント。

これはWeb.ApiとMVCなどASP.NET vNextの変化が組み合わされ、OWINとプロジェクトヘリオスの賛成でのSystem.Webを放棄されていません。

8
  • MVC 5はOWINに登録されていません。
  • OWINは、アプリケーション(PreApplicationStartMethod)より前に開始するように登録されています。
  • Pre-application-startup時に、OwinStartup登録クラスを使用して現在のアプリケーションを構成します。

[assembly: OwinStartup(typeof(WebApplication1.Startup))]

startup.csで上記の行はOWINを設定するには、クラスをロードします。 さらに見てくださいOWIN Startup class detection

+0

これはなぜOWINが使用されるのか説明しません。 OWINが組み込まれている理由は、共有OWINミドルウェアコンポーネントを認証に使用するためです。これにより、OWINとIISベースのアプリケーションで同じ認証ライブラリを使用できます。 –

+1

「how/where MVC5はOWINに登録されています。この文脈では、私の答えは適切です。あなたの質問は「なぜ」の文脈を全く表さない。驚くべきこと... – jd4u

+0

「理由」を追加すると、あなたの答えはより完全になります。 MVCが何かのためにOWINを必要とすることができますが、何を説明するのに失敗するかは不思議です。私は明らかになぜOWINが今含まれているのかを理解しようとしていました。 –

関連する問題