IIS7上部署Asp.Net4.0

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

我肯定服務器上的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中app

注:若是服務器爲64位系統,.net會同步安裝64位的 framework,若是是32位的系統則沒有Framework64這個目錄,這個運行完之後,檢查IIS中應用程序池的版本號是否爲正式版本號。框架

這樣處理完了之後,網站已經能跑起來了,可是又遇到了第二個問題:由於公司的項目應用了一些之前的第三方組件,應用程序池沒法以Integrated集成模式運行(不兼容),因此只能選Classic經典模式,實踐後發現經典模式下url路由功能沒法使用:又百度一圈後,找到了解決辦法:在網站的功能(Feature)視圖下,找到Handler Mappings(Handler映射)並雙擊添加一個Wildcard Script. Map即:將全部後綴文件的請求,所有交由Framework64\v4.0.30319\aspnet_isapi.dll來處理asp.net

ok,asp.net4.0的路由功能總算在經典模式下運行正常了(注:若是是集成模式,是沒有該問題的)網站

相關文章
相關標籤/搜索