Topshelf + OWIN + WebAPI + Ninject でセルフホストの雛形を作った
とりあえずやりたいことの雛形が出来たので取り急ぎメモ。
要するにIISを使わずにWindowsサービスとしてWebAPIサーバーを稼働させたかった、という目的です。
これはTopshelfというパッケージを使うとあっさり解決できます。
Ninjectを使った依存性注入を調べる機会があったので、ついでにDIも実装しました。
StartupクラスのConfigurationメソッド内でHTTPレスポンスをXMLからJSONに変更したりトレーシングを設定したりもしています。
.NET Frameworkのバージョンは4.5。
まずVisual Studioを開いてコンソールアプリケーションを作成する。
次に以下のパッケージをインストール、最後にアップデート。
install-package topshelf install-package ninject.web.webapi.owinhost install-Package Microsoft.AspNet.WebApi.Owinselfhost install-Package Microsoft.AspNet.WebApi.Tracing install-package entityframework //今回のサンプルでは使わない。 install-package nlog //今回のサンプルでは使わない。 update-package
Program.cs の中身↓(サンプルなので無理やり1ファイルにまとめてます)