Open棟梁Project - マイクロソフト系技術情報 Wiki
NuGet で「AspNet?.Identity」をインストール。
Install-Package Microsoft.AspNet.Identity.Owin Install-Package Microsoft.AspNet.Identity.EntityFramework Update-Package
Microsoft.AspNet?.Identity.EntityFramework?は、
UserStore?クラスを自前で実装する場合、不要になる。
NuGet で「SignalR」をインストール。
Install-Package Microsoft.AspNet.SignalR Update-Package
NuGet で「WebApi?.OwinSelfHost?」をインストール。
※ セルフホストの場合
Install-Package Microsoft.AspNet.WebApi.OwinSelfHost Update-Package
OWINパイプラインでミドルウェアをつなげ全体を処理する。
Startupクラスは、
を指定して使用できるようにする。
既存のBundle、Routing等をGlobal.asax.cs から OWIN Startup.cs に移動してもイイが、必要性は無い。
Startup クラスで ConfigureAuth?(app)メソッドを実行する。
public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.MapSignalR(); } }
ConfigureAuth?メソッドはテンプレート上、Partialクラスに定義されている。
結構大きめの実装なので割愛
必要に応じて、実際に[認証の変更]→[個人のユーザアカウント]のオプションで
プロジェクトテンプレートを使用してプロジェクトを生成して確認すること。
Startup クラスで app.MapSignalR()メソッドを実行する。
public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.MapSignalR(); } }
Startup クラスで Routing定義を行いapp.UseWebApi?()メソッドを実行する。
※ セルフホストの場合
public static class Startup { public static void ConfigureApp(IAppBuilder app) { // Configure Web API for self-host. HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); app.UseWebApi(config); } }
.NET Frameworkのテンプレートでは、Routing定義は、
Global.aspxのApplication_Startから呼びだされる
RouteConfig?クラスのRegisterRoutes?メソッドで実行されれている。
Every OWIN Application has a startup class where you specify components for the application pipeline.
There are different ways you can connect your startup class with the runtime,
depending on the hosting model you choose (OwinHost?, IIS, and IIS-Express).