部署ASP.NET MVC 4 Web Application to IIS 8
Tools: Visual Studio 2012
第一步要以系統管理員身份執行Visual Studio 2012
Create a New Web Application to deploy
預設Internet 範本使用Entity Framework 5.0 Code First方式建立會員資料庫,我希望部署到Server 時,資料庫改用SQL Express。
預設Web.config檔案內,含連接字串如下:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-demo-20130613150148;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-demo-20130613150148.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-demo-20130613150148;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-demo-20130613150148.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
在Web.Release.config檔案加入:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=.\sqlexpress;Initial Catalog=demodb;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=.\sqlexpress;Initial Catalog=demodb;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
Build Solution
Publish
publish到本機IIS試看看
Preview 沒問題,就按下Publish
成功之後,會自動啟動Browser,顯示網站首頁
檢視IIS wwwroot下網站的程式檔案都部署上來了,web.config檔案內包含的連接字串是Release版的,連到sqlexpress
試著註冊會員
發生錯誤,權限不足
檢視IIS MyMVCApp執行在DefaultAppPool
DefaultAppPool目前使用ApplocationPoolIdentity身份執行
使用SQL Server Management Studio連接到SQLExpress
新增login
設定登入名稱
授權dbcreator
回到Browser,就可以註冊了
輸入帳號密碼
網站便可登入
使用SQL Server Management Studio檢視DB已建立,UserProfile資料表中,含一筆資料
沒有留言:
張貼留言