- Published on
ASP.NET Core 2.2 新的 Endpoint Routing
在 ASP.NET Core 2.2 的版本,Endpoint Routing 的行為和之前的版本不太一樣,來看一下差異的部份
設定
- 在 2.2 的版本,預設
Endpoint Routing
是啟用的,可以修改 MVC 的設定把它關掉
services.AddMvc(options => options.EnableEndpointRouting = false)
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
測試的連結
- 下面會產生這個 About 的連結來當測試
產生沒有參數的連結
- 有 Enpoint Routing
- 以
Action
nmae 產生連結
- 以
- 沒有 Enpoint Routing
- 保留傳入參數的大小寫
產生不存在的連結
- 有 Enpoint Routing
- 無法產生連結
- 沒有 Enpoint Routing
- 一樣產生連結
產生非空參數的連結
- 有 Endpoint Routing
- 無法產生連結
- 沒有 Endpoint Routing
- 一樣產生連結
產生可為空參數的連結
- 不管有跟沒有 Endpoint Routing 的結果一樣
- 以
Action
name 產生連結
- 以
後記
- 感覺上這個改變是為了不要產生錯誤的連結,不過如果不清楚的人可能會覺得為什麼行為和之前不一樣
- 有關於相關的改動可以參考官方文件 Differences from earlier versions of routing