AddMvcCore,AddControllers,AddControllers WithView,AddRazorPagesの違い


 1.services.AddMvcCore()

Controller/Razor Pagesを実行するために必要なコアサービスのみを登録し、Pipelineプログラムが動作することを確保します.その他、Data Annotation Model Validation、身分検証などのサービスは自分で掛けなければなりません.特殊な客制の需要を除いて、一般的にはあまり使われません.
 
2.services.AddControllers()

AddMvcCore()の動作に加えて、
  • 身分検証サービス
  • Swagger/open API等のAPIファイル動的生成機能
  • Data Annotation-Attribute資料チェックおよびIValidateObject
  • を支援
  • Formatter Mapping-Requestの要件に従って異なるフォーマット(JSON/XML)コンテンツを提供する
  • CORS-ネットワークドメイン間統合を支援
  • これは、Controllerを使用しますが、Viewは使用されません.たとえば、純粋なWebAPIなどです.
     
    3.services.AddRazorPages()

    AddMvcCore()のすべての機能に加えて、
  • Razor Pages機能
  • 身分検証サービス
  • Data Annotation-Attribute資料チェックおよびIValidateObject
  • を支援
  • Cache Tag Helper

  •  
    4.services.AddControllersWithViews()

    AddControllers()を含むすべての項目に加えて、
  • cshtml Razor View
  • Cache Tag Helper

  • 標準Model+View+Controllerアーキテクチャを使用するには、通常これを選択します.
     
    5.services.AddMvc()

    AddControllersWithViews()にAddRazorPages()を加えるなど、機能発揮ASPを見逃したくない.NET Coreの最大威力は、これを選べばいいです.