BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

ASP.NET Core 起動時 の CreateDefaultBuilder() がやってくれること( ASP.NET Core 2.0 ~)

CreateDefaultBuilder メソッド

ASP.NET Core 2.0 からはプロジェクトを作成すると、エントリーポイントとなる Program.cs > Main メソッドで WebHost.CreateDefaultBuilder メソッドが書かれています。

これは、ASP.NET Core 1系のアプリ起動時に毎回書いてたありきたりなコードをラップしてくれているんですが、2系からASP.NET Core を始める人には???ってなるので、何が行われているかを整理します(と思ってブログを書き始めた..)。

私はその実装は見てたけどドキュメント見てなかった...そしたらドキュメントにきっちり書いてますね。つまりはこのドキュメントを読むことが正義ですね。

(ここ内容をブログで書こうと思ってたのにドキュメントで全部書いてるので、書くことがなくなった....)

Web Host and Generic Host in ASP.NET Core | Microsoft Docs


あとは、 WebHost.CreateDefaultBuilder メソッドの実装。何を見るよりこれが確実です。

AspNetCore/WebHost.cs at master · aspnet/AspNetCore · GitHub


WebHost.CreateDefaultBuilder メソッドでありきたり(で必要そう)なことはやってくれるので、あとは、Startup クラスで 必要なことだったりDI書いてねって流れですね。

プロダクトでリリースする際は、CreateDefaultBuilder 使わず全部自分で実装して余計なものを入れないのもよいかもですね。

その他

更新が早いので、公式ドキュメント以外はどんどん古くなりますが、それを踏まえた上で、MSDN マガジンのこの記事は、まとまってて良いです(これも今日初めて見た!)。

ASP.NET Core - ASP.NET Core 2.0 入門

最近別のことやってて、ASP.NET Core のドキュメントを全然追えてないなーと実感しただけの記事になってしまいました。