ASP.NET生成eurl.axd Http異常錯誤處理方(fāng)法
在IIS6中同時啟用(yòng)了ASP.NET 2.0 和 ASP.NET 4.0 後,網站程序可能會出現(xiàn)如下錯誤(wù):“ System.Web.HttpException: Path ‘//eurl.axd/‘ was not found. ”
錯誤發生的原因是(shì)當(dāng)ASP.NET檢測到Web站點配置為使用ASP.NET 4.0,本地ASP.NET 4.0 的組件會傳遞一個不能擴(kuò)展的 URL到ASP.NET的管理程序作進一步處理。但是,如果一個低於ASP.NET 4.0 的網站配置為使用ASP.NET 2.0,處(chù)理這樣不能擴展的 URL 時,URL的(de)修改結果(guǒ)中會包含字(zì)符(fú)串“eurl.axd”,修改(gǎi)後的URL會被發送到(dào) ASP.NET 2.0應用程序(xù)。
ASP.NET 2.0中是不能識別“eurl.axd”的。因此ASP.NET 2.0會嚐試查找一個文件名為(wéi)“eurl.axd”的文件並執行它(tā)。因為沒有這樣的文件,所以會請求失敗,Http異常並拋出帶有字符串“eurl.axd”的錯誤。
有三種方法可以解決這樣(yàng)的(de)問題:
1.如果網站程序不需要ASP.NET 4.0 的支持(chí),那麽可以直接配置網站使用ASP.NET 2.0。
2.如果網站程序需要ASP.NET 4.0的支持,就需要將(jiāng)該網站下使用ASP.NET 2.0的虛擬目(mù)錄移動(dòng)到其他網站。
3.如果上麵兩種(zhǒng)方法(fǎ)都不適用於你的(de)實際情況,那麽就隻能用這種方法了:
打開注冊表找到“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\ASP.NET\\4.0.30319.0”,添加鍵值名為“EnableExtensionlessUrls” 類型為“DWORD”的鍵(jiàn)值,並設置值為“0”。然後在cmd中運行“IISRESET”,重啟IIS以讀取注(zhù)冊表修改後的內容。注:此項修改就(jiù)是關(guān)閉ASP.NET 4.0對無擴展URL的處理,若將此項鍵值設為“1”則開啟。
關鍵詞:ASP.NET
閱(yuè)讀本文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0