之前有寫過一篇在 IIS 用 URL Rewrite 解決 SEO 要求網址全小寫及有無斜線結尾的問題,到了 ASP.NET Core 雖然沒有 URL Rewrite 擴充套件可以安裝,但是有一個 URL Rewriting Middleware 可以來幫助我們做到一樣的事情。
[小菜一碟] ASP.NET Core 解決 SEO 要求網址全小寫及無斜線結尾的問題
- 1856
- 0
- ASP.NET Core
- 2020-05-22
之前有寫過一篇在 IIS 用 URL Rewrite 解決 SEO 要求網址全小寫及有無斜線結尾的問題,到了 ASP.NET Core 雖然沒有 URL Rewrite 擴充套件可以安裝,但是有一個 URL Rewriting Middleware 可以來幫助我們做到一樣的事情。
_ViewStart.cshtml 在 ASP.NET MVC 就存在了,而 ASP.NET Core MVC 則多了一個 _ViewImports.cshtml,這兩個都會對 View 有全域性的影響,重新來了解一下 _ViewStart.cshtml 及新多的 _ViewImports.cshtml 的作用。
在 Visual Studio 2019 v16.4.5 的 ASP.NET Core MVC 專案上,按右鍵移到「加入
」是看不到「區域
」這個選項的。
所以 Areas(區域)得要自己手動加了,這邊就記錄一下手動新增 Areas 的步驟。
PowerShell 目前是開源的,而且跨平台,做為一位長期在微軟技術生態圈打滾的碼農,面對要撰寫 Script 做自動化工作的場景,怎麼可以不用呢? 馬上來將上一篇文章用 Shell Script 實現藍綠部署,改用 PowerShell 來實現。
在過去,發佈 Web 應用程式到 IIS 上,只要把新發佈的檔案覆蓋掉線上的檔案,IIS 就自動幫我們處理好新舊版的切換,現在搬到 Linux,這個新舊版切換的程序就得自己來了,第一個想到的工具就是 Shell Script。
微軟官方文件「在 Linux 上使用 Nginx 裝載 ASP.NET Core」使用的作業系統是 Ubuntu,我個人是偏好號稱萬年不掛的 CentOS,Linux 不同陣營之間的風格是有一點差異的,所以如果照著微軟官方的步驟套到 CentOS 上,一定會在某個地方覺得拐手,我就把到可以成功瀏覽網頁之前需要注意地方做個記錄。
微軟官網有一篇 .NET Core 應用程式部署的文章在介紹 .NET Core 的部署模式,只是裡面都是文字,再加上有一些新的詞彙,什麼 FDD、SCD、FDE,看了也懂了,但是實際操作還是有點霧煞煞,我這邊就直接用 Visual Studio 2019 的發佈設定視窗,來說明不同的發佈設定會對發佈結果造成什麼影響?
在前一篇文章 [料理佳餚] ASP.NET Core 的虛擬目錄哪去了?中有提到,傳統 ASP.NET 的 HTTP Handler 及 HTTP Modules 的工作在 ASP.NET Core 是由 Middleware 來負責處理,這篇文章就來介紹撰寫 Middleware 的幾種方式。
在傳統 ASP.NET 的年代,我們別無選擇,寫好的 ASP.NET 應用程式只能 Host 在 IIS 上執行,其中虛擬目錄
的服務是由 StaticFile
這個 HTTP Handler 來負責處理。
而 ASP.NET Core 內建就有 Kestrel 這個輕量化的網頁伺服器,不需要再依賴 IIS,但是脫離 IIS 之後,我們要怎麼設定虛擬目錄?
ASP.NET Core 內建的 DI Container 稍嫌陽春了一點,讓我懷念起 Autofac 提供的多種花式註冊方式,我決定把它召喚回來攜手共創未來,ASP.NET Core 2.2 到 3.1 有一些 Breaking Changes,設定方式會有一點不一樣,這邊做個記錄。