部署-WebSite
開始之前
除非要偵錯否則少用F5,改用Ctrl+F5
使用Web Deploy
為什麼要用Web Deploy?這樣做有什麼好處?
同一份程式碼快速的發佈到不同的機器
簡單同時維護 Debug/Release 應用程式,甚至更多
安裝 Deploy Host
IIS 安裝 Web Platform Components
在 Web Platform 搜尋 Deploy 並且安裝它
Deploy Host Server
Web.Config Transform Mode
設設三種模式
不夠可以再加
Web.config
開發專用
Web.Debug.config
測試機
Web.Release.config
正式機
發佈網站時可以決定要發佈哪一種 (Debug | Release) 模式
Web.Config 的參數,由 Transform 標籤來決定是否要替換
透過 Web.config 替換機制(Transform),可達成同時維護 Debug/Release 應用程式,捨棄手動 Remark,快速切換 Debug/Release不同的設定,減少手動調整設定檔
『測試環境』與『產品環境』應該要分開,比如測試環境不得直接操作品環境的資料庫, 以降低系統崩壞風險
常用的參數節點
appSettings
connectionStrings
範例
@Web.config
appSettings
<appSettings>
<add key="a" value="release mode" />
</appSettings>
<connectionStrings>
connectionStrings
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"/>
</connectionStrings>
@Web.Release.config
appSettings
<appSettings>
<add key="a" value="release mode" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
connectionStrings
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</connectionStrings>