久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點(diǎn)資訊 營(yíng)銷之道 企業(yè)報(bào)道 淘寶運(yùn)營(yíng) 網(wǎng)站建設(shè) 軟件開(kāi)發(fā) 400電話
  當(dāng)前位置: 首頁(yè) » 資訊 » 網(wǎng)站建設(shè) » 正文

ASP.NET MVC在IIS6下部署的小技巧

放大字體  縮小字體 發(fā)布日期:2018-02-18  來(lái)源:新格網(wǎng)  作者:新格網(wǎng)  瀏覽次數(shù):896  【去百度看看】
核心提示:通常在IIS6下部署ASP.NET MVC應(yīng)用程序的時(shí)候,都是直接設(shè)置把所有請(qǐng)求都交由ASP.NET的ISAPI處理。MVC是基于ASP.NET的,框架默認(rèn)對(duì)于任何請(qǐng)求都會(huì)優(yōu)先檢查物理路徑是否存在物理文件,如果存在的話就不通過(guò)MVC的路由機(jī)制,否則才走路由。

通常在IIS6下部署ASP.NET MVC應(yīng)用程序的時(shí)候,都是直接設(shè)置把所有請(qǐng)求都交由ASP.NET的ISAPI處理。MVC是基于ASP.NET的,框架默認(rèn)對(duì)于任何請(qǐng)求都會(huì)優(yōu)先檢查物理路徑是否存在物理文件,如果存在的話就不通過(guò)MVC的路由機(jī)制,否則才走路由。

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

0.在設(shè)計(jì)MVC網(wǎng)站的時(shí)候,把靜態(tài)資源統(tǒng)一放在一個(gè)文件夾下,建議目錄結(jié)構(gòu)使用小寫(xiě)字母

1.把web應(yīng)用程序發(fā)布到某個(gè)路徑下(略)(順便提一句,MVC2功能上比MVC3弱一些,用到的組件很少,可以直接私有部署System.Web.Mvc;但是MVC3因?yàn)楣δ茉黾樱乙肓薘azor引擎,依賴的組件增多,建議在部署的時(shí)候直接安裝MVC3)

2.創(chuàng)建一個(gè)web站點(diǎn)(略)

3.右擊創(chuàng)建的web站點(diǎn),選擇屬性,切換到Home Directory頁(yè)

clip_image001

4.點(diǎn)擊Configuration,在Wildcard application maps中,點(diǎn)擊Insert,添加C:\WINDOWS\Microsoft.NET\framework\v4.0.30319\aspnet_isapi.dll,取消Verify that file existsg的勾選。(如果使用MVC2的話,可以到2.0下去找這個(gè)dll。這里去掉對(duì)靜態(tài)文件的驗(yàn)證是關(guān)鍵,這使得asp.net處理所有的請(qǐng)求)

clip_image001

5.點(diǎn)OK

clip_image001[6]

6.允許ASP.NET 4.0擴(kuò)展

 

7.content目錄是靜態(tài)資源放置的目錄,設(shè)置content目錄下請(qǐng)求直接由IIS處理以提高性能。右擊content,屬性

clip_image001[6]

8.點(diǎn)擊create,再點(diǎn)擊configuration,移除Wildcard application maps下的內(nèi)容。點(diǎn)擊OK。這里利用了IIS的一個(gè)bug,把目錄設(shè)置成虛擬目錄,刪除Wildcard application maps的設(shè)置,這樣這個(gè)虛擬目錄的請(qǐng)求就直接由IIS處理了。

clip_image001[8]

9. 再點(diǎn)擊Remove,把虛擬目錄恢復(fù)成普通目錄。這樣只有這個(gè)目錄下的文件會(huì)受到IIS的“眷顧”

clip_image001[10]

10.設(shè)置AppPool權(quán)限。點(diǎn)擊站點(diǎn)使用的AppPool的屬性,切換到Identity,選擇Local System。這是偷懶的設(shè)置方法,以避免出現(xiàn)應(yīng)用程序本身對(duì)系統(tǒng)的訪問(wèn)權(quán)限不夠

clip_image001[14]

11.設(shè)置匿名訪問(wèn)權(quán)限。右擊站點(diǎn),選擇權(quán)限。點(diǎn)擊Add…,在彈出的對(duì)話框中輸入IUSR_XXX(XXX為機(jī)器名)。

clip_image001[16]

點(diǎn)擊OK,便可添加一個(gè)Internet Guest Account,保持默認(rèn)的只讀權(quán)限即可。

clip_image001[18]

12.最后注意,如果是首次安裝.NET 4.0,不要忘了注冊(cè)

 

在深入理解ASP.NET MVC(2)中,討論過(guò)MVC框架的路由機(jī)制,其中提到“可以通過(guò)設(shè)置RouteCollection的RouteExistingFiles為true,使得路由不匹配靜態(tài)文件(注意true是不匹配,這個(gè)命名和奇怪)。”因此,我們可以這樣設(shè)置,以使得MVC不對(duì)靜態(tài)文件進(jìn)行檢查,這樣又可以提高一點(diǎn)性能。最終請(qǐng)求會(huì)像下圖那樣被serve

 

 
關(guān)鍵詞: ASP.NET,IIS6,MVC,部署技巧
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報(bào) ]  [ 關(guān)閉窗口 ]

 
0條 [查看全部]  相關(guān)評(píng)論

 
網(wǎng)站首頁(yè) | 關(guān)于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權(quán)隱私 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 吉ICP備11001726號(hào)-6
企業(yè)800網(wǎng) · 提供技術(shù)支持