ASP.NET Coreのメモ
ちょっと関わるプロジェクトで構成考えることになりそうなので、ASP.NET、ASP.NET Coreを調べようと思って、この動画を見た『ASP.NET MVC プログラミング入門の入門(増田智明)』
まず、.NETでオープンソースというとmonoを思い出すかもしれないが、.NET Coreとはmonoとは異なる。monoからXamarinが派生した?XamarinはMicrosoftに買収されたので、MicrosoftとしてはXamarin推し。XamarinはiOS、Android用で、それ以外のOS、Linux、Mac用として.NET Coreが誕生した。.NET Coreは.NET Frameworkの中心の部分をLinuxでも動くようにしたもの。
.NET Framework、ASP.NET、ASP.NET MVCの3つのレイヤーで選択肢がある。
.NET Framework上に、ASP.NET Coreを載せるのも出来るが、Coreで統一するか、Windows動作環境(IIS上で動作)で統一するかのどちらかじゃないかとのこと。Windowsサーバ以外でも動かすには.NET Core、ASP.NET Coreの組み合わせを選ぶ。
この動画では.NET Core、ASP.NET Core、ASP.NET Core MVCを紹介している。プロジェクトの作成で、Coreがついているものを選択すると作成可能。ASP.NET CoreではVisual Studioでも起動できるが、コマンドラインからも起動が可能。プログラムを実行し、プロセスを立ち上げる形。1プロセスで動く、Node.jsと同じ。
認証、MVCなどの機能はモジュール化されていて、ベースのサービスに追加していく形をとる。(普通のASP.NETも4.5以降はそんな感じな気がする)
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
がっつり使うならIISを使う方が楽かも。
MVCパターンについては特に説明なしで、MVCパターンからVをなくしたのが、WebAPI。Controller、Modelから出来ていて、リクエスト、レスポンスの仲介として、InputFormatter、OutputFormatterがある。Formatterは自分で作ってもいい。ただ、別の記事によるとASP.NET MVCのプロジェクト内蔵のWebAPIを使ってもいいが、WebAPIプロジェクトを別に作った方がいいらしい。