2012/1/17 15:16 |
閱讀數 : 1565
我要推薦
|
| 文章分類 :
ASP.NET MVC - Concepts
訂閱
ASP.NET MVC 應用程式的部署不像是 ASP.NET Web Form 這麼簡單,只要用 \bin 就可以了,主要原因是 ASP.NET MVC 使用了 ASP.NET Routing 機制去維護 MVC 之間的連結,若 IIS 無法載入 ASP.NET Routing 時,就會發生無法運作的情況。
所以,在部署 ASP.NET MVC 3 應用程式前,請先檢視下列環境:
1. 請務必註冊 ASP.NET 4.0 (v4.0.30319,如果是在 .NET Framework 4 安裝後才安裝 IIS 的,請記得執行 %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -ir,若是 32 位元則是 %WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -ir)。
2. 應用程式集區的版本,請使用 v4.0.30319。
3. 安裝 ASP.NET MVC 3.0 Runtime Libraries,若不想安裝,則需要在 MVC 應用程式的 \bin 目錄中放入幾個組件 DLL,可參考本討論。
而在部署應用程式時,可能會碰到幾種問題:
1. HTTP 404.0,表示路徑錯誤,但路徑對仍出現這訊息,表示 ASP.NET Routing 未啟動,此時可能是 System.Web.Routing.dll 找不到或是 ASP.NET 本身沒有註冊到 IIS。
2. 瀏覽預設路徑時發生 HTTP 403,表示 Routing 的預設路徑不正確或沒有設定。
3. 遺失某些組件:

這個狀況比較會發生在使用 Razor 作為 View engine 的 MVC 3 應用程式,如果是選用 Razor 的話,則還要在專案中加入下列組件的參考,並且將 "複製到本機" 設為 true:
-
Microsoft.Web.Infrastructure.dll
-
System.Web.Razor.dll
-
System.Web.WebPages.dll
-
System.Web.WebPages.Razor.dll
-
System.Web.WebPages.Deployment.dll
-
System.Web.Helpers.dll
完成以後,再用一般的 ASP.NET 應用程式部署方式部署,就可以正常使用了。
PS: 以上以 IIS 7.5 為撰寫基礎,若是其他版本,請 Google 一下 "Deploy MVC3 IIS" 就能找到不少資料可參考。
DotBlogs Tags:
ASP.NET MVC
Deployment
關連文章
[ASP.NET][MVC] ASP.NET MVC (10) : 部份檢視與 AJAX 的整合
[ASP.NET][MVC] ASP.NET MVC (9) : 部份檢視 (Partial View)
[ASP.NET][MVC] ASP.NET MVC (7) : View不是只有網頁而已
[ASP.NET][MVC] ASP.NET MVC (6) : 資料驗證 (2) Model Validation
[ASP.NET][MVC] ASP.NET MVC (5) : 資料驗證 (1) Server-side Validation
[ASP.NET][MVC] ASP.NET MVC (4) : 繪製表單與 HTTP POST
[ASP.NET][MVC] ASP.NET MVC (3) : 加入資料檢視功能-Models
[ASP.NET][MVC] ASP.NET MVC (2) : 由空白 MVC 專案,認識 ASP.NET MVC (3.0) 專案結構與初體驗
[ASP.NET][MVC] ASP.NET MVC (1) : 如何學 ASP.NET MVC ?
[Bug 逃走中][ASP/ASP.NET] 移機時,千萬要注意有沒有漏掉的 3-party 元件...