asp.net Http异常eurl.axd出错信息解决方法
作者:
在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”则开启。
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”则开启。
您可能感兴趣的文章:
- asp.net服务器上几种常见异常的解决方案.
- 在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
- ASP.NET生成eurl.axd Http异常错误的处理方法
- Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码
- ASP.NET mvc异常处理的方法示例介绍
- asp.net 错误:0x8007000B 异常的解决方法
- asp.net开发中常见公共捕获异常方式总结(附源码)
- ASP.NET MVC异常处理模块详解
- 在ASP.NET 2.0中操作数据之十八:在ASP.NET页面中处理BLL/DAL层的异常
- 在ASP.NET 2.0中操作数据之三十八:处理BLL和DAL的异常