在IIS6中同時啟用了ASP.NET 2.0 和 ASP.NET 4.0 後,網站程式可能會出現如下錯誤:“ System.Web.HttpException: Path ‘//eurl.axd/‘ was not found. ”
錯誤發生的原因是當ASP.NET檢測到Web網站配置為使用ASP.NET 4.0,本地ASP.NET 4.0 的組件會傳遞一個不能擴充的 URL到ASP.NET的管理程式作進一步處理。但是,如果一個低於ASP.NET 4.0 的網站配置為使用ASP.NET 2.0,處理這樣不能擴充的 URL 時,URL的修改結果中會包含字串“eurl.axd”,修改後的URL會被發送到 ASP.NET 2.0應用程式。
ASP.NET 2.0中是不能識別“eurl.axd”的。因此ASP.NET 2.0會嘗試尋找一個檔案名稱為“eurl.axd”的檔案並執行它。因為沒有這樣的檔案,所以會請求失敗,Http異常並拋出帶有字串“eurl.axd”的錯誤。
有三種方法可以解決這樣的問題:
1.如果網站程式不需要ASP.NET 4.0 的支援,那麼可以直接配置網站使用ASP.NET 2.0。
2.如果網站程式需要ASP.NET 4.0的支援,就需要將該網站下使用ASP.NET 2.0的虛擬目錄移動到其他網站。
3.如果上面兩種方法都不適用於你的實際情況,那麼就只能用這種方法了:
開啟註冊表找到“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\ASP.NET\\4.0.30319.0”,添加索引值名為“EnableExtensionlessUrls” 類型為“DWORD”的索引值,並設定值為“0”。然後在cmd中運行“IISRESET”,重啟IIS以讀取註冊表修改後的內容。註:此項修改就是關閉ASP.NET 4.0對無擴充URL的處理,若將此項索引值設為“1”則開啟。
在先安裝IIS,後安裝.net Framework3.5或4.0的情況下,需要重新註冊架構,在“運行”中執行命令:
C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
C:\windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
在IIS6中同時啟用了ASP.NET 2.0 和 ASP.NET 4.0 後,網站程式可能會出現如下錯誤:“ System.Web.HttpException: Path ‘//eurl.axd/‘ was not found. ”
錯誤發生的原因是當ASP.NET檢測到Web網站配置為使用ASP.NET 4.0,本地ASP.NET 4.0 的組件會傳遞一個不能擴充的 URL到ASP.NET的管理程式作進一步處理。但是,如果一個低於ASP.NET 4.0 的網站配置為使用ASP.NET 2.0,處理這樣不能擴充的 URL 時,URL的修改結果中會包含字串“eurl.axd”,修改後的URL會被發送到 ASP.NET 2.0應用程式。
ASP.NET 2.0中是不能識別“eurl.axd”的。因此ASP.NET 2.0會嘗試尋找一個檔案名稱為“eurl.axd”的檔案並執行它。因為沒有這樣的檔案,所以會請求失敗,Http異常並拋出帶有字串“eurl.axd”的錯誤。
有三種方法可以解決這樣的問題:
1.如果網站程式不需要ASP.NET 4.0 的支援,那麼可以直接配置網站使用ASP.NET 2.0。
2.如果網站程式需要ASP.NET 4.0的支援,就需要將該網站下使用ASP.NET 2.0的虛擬目錄移動到其他網站。
3.如果上面兩種方法都不適用於你的實際情況,那麼就只能用這種方法了:
開啟註冊表找到“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\ASP.NET\\4.0.30319.0”,添加索引值名為“EnableExtensionlessUrls” 類型為“DWORD”的索引值,並設定值為“0”。然後在cmd中運行“IISRESET”,重啟IIS以讀取註冊表修改後的內容。註:此項修改就是關閉ASP.NET 4.0對無擴充URL的處理,若將此項索引值設為“1”則開啟。
在先安裝IIS,後安裝.net Framework3.5或4.0的情況下,需要重新註冊架構,在“運行”中執行命令:
C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
C:\windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i