首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET MVC 2.0 部署至 IIS 6/7 完整教學:Bin 目錄必備 System.Web.Mvc.dll

     編輯:關於ASP.NET

部署前核心檢查:Bin 資料夾必須包含 System.Web.Mvc.dll

Bin 目錄包含 System.Web.Mvc.dll

MVC 專案預設參考 System.Web.Mvc 為 Copy Local = False,建置時不會複製至 Bin。部署至無安裝 MVC Runtime 的伺服器會失敗。

修正步驟(Visual Studio 2008 SP1 + MVC 2.0 RC)

  1. 方案總管 → 「參考」 → 右鍵 System.Web.Mvc → 「屬性」。
  2. 參考屬性視窗
  3. 將 「複製到本機」設為 True。
  4. Copy Local 設為 True
  5. 重新建置專案,System.Web.Mvc.dll 即出現在 Bin 目錄。

IIS 7 整合模式額外設定

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
    <remove name="UrlRoutingModule"/>
    <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </modules>
  <handlers>
    <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc"
         type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </handlers>
</system.webServer>

IIS 6 必須配置萬用字元對應

  1. 網站屬性 → 「主目錄」 → 「設定」 → 「對應」頁籤。
  2. 新增:執行檔 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,副檔名 .*,取消勾選「檢查檔案是否存在」。
  3. 或使用 UrlRewriter / Helicon Ape 等 URL 重寫模組模擬無副檔名路由。

常見部署失敗原因排查表

現象可能原因解決方向
404 Not Found路由模組未註冊 / 萬用字元對應缺失檢查 system.webServer/modules / IIS6 萬用字元對應
500 Internal Server ErrorBin 缺少 System.Web.Mvc.dll / 連線字串錯誤 / 權限不足檢查 Bin、Event Viewer、AppPool 身分
靜態檔案 (CSS/JS/圖片) 404路由攔截靜態檔案RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 加上 IgnoreRoute("Content/{*pathInfo}") 等
驗證/授權失效web.config authentication/authorization 區段與 IIS 設定衝突確認 IIS 驗證模式(匿名/Windows/表單)與 web.config 一致

驗證部署成功

  1. 瀏覽首頁,確認路由運作(URL 無 .aspx)。
  2. 測試表單送出(POST → Redirect → GET)。
  3. 檢查 Elmah / 自訂錯誤頁面是否正常捕獲例外。
  4. 壓力測試驗證 Session/快取/資料庫連線池穩定。

核心口訣:Bin 必須有 System.Web.Mvc.dll、路由模組必須註冊、靜態檔案必須排除路由。做對這三點,MVC 2.0 在 IIS 6/7 部署成功率 99%。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved