[上課筆記] Understanding ASP.NET Core 3.x

  • 1305
  • 0
  • 2019-12-26

Understanding ASP.NET Core 3.x

這是看線上教學 課程的筆記 加上 自己的解釋或疑惑

Exploring the Project Structure of ASP.NET Core 3
asp.net core 程式開始點
Program.cs => Main => CreateHostBuilder 會用 Startup 
( 就是變成console專案?! )

Startup.cs => ConfigureServices 負責 DI
services.AddRazorPages(); => 有這行 才能用 Razor Pages
services.AddControllers(); => 有這行 才能用 API
services.AddControllersWithViews();=> 有這行 才能用 MVC
services.AddScoped<IRestaurantData, SqlRestaurantData>(); => 自訂的介面 跟 物件
註冊有三個方式:DI 生命週期
AddTransient =>每次注入時,都new一個實體 EX 建構子注入 是一個實體 , 再用HttpContext.RequestServices.GetService<IRestaurantData>() 會再NEW一個實體
AddScoped => 每個 Request 有一個實體
AddSingleton => Singleton模式 程式執行後 只會有一個實體
參考 筆記 - 不可不知的 ASP.NET Core 依賴注入 , ASP.NET Core 教學 - Dependency Injection

Startup.cs => Configure負責 Middleware ( Pipeline )
先後順序會影響Pipeline 處理的順序 EX : app.UseStaticFiles(); 表示可以讀到wwwroot 的靜態檔案

Working with Packages and Libraries
套件 =>  Server 用 Nuget  , Client 用 NPM
Bundler & Minifier 要安裝擴充套件 參考 [食譜好菜] BundleConfig 在 ASP.NET Core 還存在嗎?

Understanding ASP.NET Core 3 MVC
asp.ner core 的MVC 跟MVC5 大致上差不多 多了View 也可以DI注入
@inject 參考ASP.NET Core 教學 - Dependency Injection

asp.ner core 的 Pazor Pages   參考
Hello, Razor Pages! - 重溫 WebForm 的簡約風格

Blazor and SignalR
SKIP

Setting up a Web API
API目前應該跟MVC5 使用上沒有大改 ( MVC5是分開 現在又再一起了 )
gRPC SKIP

Developing Applications Across Frameworks and Operating Systems
core 產生出來的檔案 app.dll 跟app.exe 的差異 在於exe包含CLI 所以檔案會大很多
 

Deploying ASP.NET Core 3 Applications
SKIP

如果內容有誤請多鞭策謝謝