ASP.NET生成eurl.axd Http异常错误处理方法


  在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”则开启 。