觀看楊老師(楊旭)Asp.Net Core MVC入門教程記錄
- Asp.Net Core啟動和配置
- Program類,Main方法
- Startup類
- 依賴注入,IoC容器
- 生命周期
- Transient:每次被請求都會創建新的實例
- Scoped:每次Web請求會創建一個實例
- Singleton:一旦被創建實例,就會一直使用這個實例,直到應用停止
依賴注入好處
- 不用去管生命周期
- 類型之間沒有依賴
補充:
ILogger:在Microsoft.Extensions.Logging;命名空間
環境變量ASPNETCORE_ENVIRONMENT:
- Development開發環境
- Staging模擬環境
- Production生產環境
- 前端工具
- Npm:package.json
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"bootstrap": "4.3.1",
"jquery-slim": "3.0.0",
}
}
- Bundle和minify:bundleConfig.json
[
{
"outputFileName": "wwwroot/css/all.min.css",
"inputFiles": [
"node_modules/bootstrap/dist/css/bootstrap.css",
"wwwroot/css/site.css"
]
},
{
"outputFileName": "wwwroot/css/bootstrap.css",
"inputFiles": [
"node_modules/bootstrap/dist/css/bootstrap.css"
],
"minify": {
"enabled": false
}
}
]
- BuildBundlerMinifier
- Task Runners: Gulp,Grunt,Webpack
- 設置MVC
-
注冊MVC服務到IoC容器
-
在ASP.NET Core管道里使用並配置MVC中間件
在ConfigureServices方法中加入
services.AddMvc();在Configure方法中加入
app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });
補充:app.UseStatusCodePages();顯示錯誤碼頁
MVC
+ Controller
+ Action
+ Filter
+ Model Binding
+ Routing
+ Attribute
## Views
+ Shared/_Layout.cshtml頁面
## 配置
+ Key-Value
+ 內存,JSON,XML,INI,環境變量,啟動參數
+ 從配置系統解耦
+ 為依賴注入優化
## View Component
+ 復用
+ Partial View無法包含業務邏輯
+ Controller里的邏輯無法復用
使用View Component有哪些優勢?
+ 相當於PartialView帶着一個小型的Controller
+ 可適用於教復雜業務
+ 可使用Razor語法
最后附上跟着教程寫的代碼部分
[ZZRRegionCoreDemo](https://github.com/ZZRRegion/CoreDemo)
