萬盛學電腦網

 萬盛學電腦網 >> 網絡基礎知識 >> IIS6下部署ASP.NET MVC應用程序

IIS6下部署ASP.NET MVC應用程序

  通常在IIS6下部署ASP.NET MVC應用程序的時候,都是直接設置把所有請求都交由ASP.NET的ISAPI處理。MVC是基於ASP.NET的,框架默認對於任何請求都會優先檢查物理路徑是否存在物理文件,如果存在的話就不通過MVC的路由機制,否則才走路由。

 

  因此,如果在不考慮控制靜態資源權限的情況下,可以設置靜態資源不通過ASP.NET的ISAPI,而直接由IIS處理,通過這種方式提升一些性能。本文圍繞這個主題,詳解部署過程。

  0.在設計MVC網站的時候,把靜態資源統一放在一個文件夾下,建議目錄結構使用小寫字母

  1.把web應用程序發布到某個路徑下(略)(順便提一句,MVC2功能上比MVC3弱一些,用到的組件很少,可以直接私有部署System.Web.Mvc;但是MVC3因為功能增加,而且引入了Razor引擎,依賴的組件增多,建議在部署的時候直接安裝MVC3)

  2.創建一個web站點(略)

  3.右擊創建的web站點,選擇屬性,切換到Home Directory頁

IIS6下部署ASP.NET MVC應用程序

  4.點擊Configuration,在Wildcard application maps中,點擊Insert,添加C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,取消Verify that file existsg的勾選。(如果使用MVC2的話,可以到2.0下去找這個dll。這裡去掉對靜態文件的驗證是關鍵,這使得asp.net處理所有的請求)

IIS6下部署ASP.NET MVC應用程序1

  5.點OK

IIS6下部署ASP.NET MVC應用程序2

  6.允許ASP.NET 4.0擴展

IIS6下部署ASP.NET MVC應用程序3

  7.content目錄是靜態資源放置的目錄,設置content目錄下請求直接由IIS處理以提高性能。右擊content,屬性

IIS6下部署ASP.NET MVC應用程序4

  8.點擊create,再點擊configuration,移除Wildcard application maps下的內容。點擊OK。這裡利用了IIS的一個bug,把目錄設置成虛擬目錄,刪除Wildcard application maps的設置,這樣這個虛擬目錄的請求就直接由IIS處理了。

IIS6下部署ASP.NET MVC應用程序5

copyright © 萬盛學電腦網 all rights reserved