IIS7上部署Asp.Net4.0時UrlRouting的若干問題

來源:互聯網
上載者:User

今天把公司的一個小web項目從Asp.Net3.5升級到Asp.Net4.0,結果在UrlRouting上遇到一系列很糾結的問題.(註:Url路由是Asp.Net4.0新增的一項功能,初次接觸的朋友請移步這裡Asp.Net4.0/VS2010新變化(3):webform中也可以直接url路由)

 

vs2010開發環境中一切運行正常,結果部署到IIS7上以後,首先遇到下面這個問題:

我確定伺服器上的asp.net4.0 已經啟用了(如),對應的網站應用程式程式池也切換到了4.0,但還是這樣!

到msdn論壇上發現也有人遇到類似問題,解決辦法:

先檢測機器上是否安裝了4.0正式版以前的beta或rc版,如

.net framework4 的正式版本號碼為4.0.30319,如果以前安裝過舊版本的4.0架構(如中的v4.0.30128),請先在命令列下輸入 :

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

重新將.net4正式版註冊到IIS中

註:如果伺服器為64位系統,.net會同步安裝64位的 framework,如果是32位的系統則沒有Framework64這個目錄,這個運行完以後,檢查IIS中應用程式集區的版本號碼是否為正式版本號碼

 

這樣處理完了以後,網站已經能跑起來了,但是又遇到了第二個問題:

如,因為公司的項目應用了一些以前的第三方組件,應用程式集區無法以Integrated整合模式運行(不相容),所以只能選Classic傳統模式,實踐後發現傳統模式下url路由功能無法使用:

 

又百度一圈後,找到瞭解決辦法:在網站的功能(Feature)視圖下,找到Handler Mappings(Handler映射)並雙擊

添加一個Wildcard Script Map,如

即:將所有尾碼檔案的請求,全部交由Framework64\v4.0.30319\aspnet_isapi.dll來處理

 

ok,asp.net4.0的路由功能總算在傳統模式下運行正常了(註:如果是整合模式,是沒有該問題的)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.