MVP Records:

Windows Azure (2011)
ASP.NET (2007-2010)
Solution Architecture (2006)
SQL Server (2004-2005)

Award Records:

SQL Server 五虎將 (2011)
Hyper-V 金翅級戰士 (2012)

Get Microsoft Silverlight

我的著作:

1. Windows Azure 教戰手札(繁體版)
(點此進入書籍服務區)



走进云计算:Windows Azure实战手记 (簡體版)

2. ASP.NET 問題解決實戰
(點此進入書籍服務區)









 

 

 

技術資訊

線上書店

最新回應

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. 遺失某些組件:

image

這個狀況比較會發生在使用 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 元件...

回應

目前沒有回應.

登入後使用進階評論

Please add 1 and 6 and type the answer here: