ASP .NET Core MVC 生命週期
接下來會針對MVC的部份去做整理
簡單討論一下 ASP .NET Core 下的MVC request 的cycle
和前面提到的一樣
Middleware在ASP .NET Core占了非常重要部分
當一個http request 進來時
會先經過Middleware,再去針對設定的Routing去找對應的controller action
最後透過action裡面了邏輯再回傳到View
(圖片來源:https://dotnettutorials.net/)
在MVC專案裡面
這個方法就又被註冊在startup.cs裡面了
這個方法主要是給MVC所使用
提供了MVC以及web api 的方法
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
打開Razor pages專案可以看到這裡註冊的又是另一個方法
這個主要是提供給Razor使用的
services.AddRazorPages();
另外還有一個方法是 services.AddMvc();
這個是包含所有會需要用到的方法
簡單來說
AddMvc() // MVC/WEB API/Razor
AddRazorPages() // Razor
AddControllersWithViews() // MVC
AddController() // WEB API
在ASP .NET MVC 有用到Filters
在ASP .NET Core也可以使用
後面會再來整理這些 action filters的使用方式
這裡主要先知道有關Filter的部分會發生在上面提到Action method
其中包含了Authorization以及action filter還有Model Binding
參考資料:
https://www.c-sharpcorner.com/article/asp-net-core-mvc-request-life-cycle/
https://dotnettutorials.net/lesson/difference-between-addmvc-and-addmvccore-method/
https://dotnettutorials.net/lesson/asp-net-mvc-life-cycle/