程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP基礎知識 >> ASP.NET生成eurl.axd Http異常錯誤處理技巧

ASP.NET生成eurl.axd Http異常錯誤處理技巧

編輯:ASP基礎知識

    在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”則開啟。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved