ASP.NET生成eurl.axd Http异常错误的处理方法
程序员文章站
2024-03-06 23:19:02
在iis6中同时启用了asp.net 2.0 和 asp.net 4.0 后,网站程序可能会出现如下错误:“ system.web.httpexception: path...
在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检测到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”则开启。
上一篇: 在Spring Boot中如何使用log4j记录日志
下一篇: php实现图片按比例截取的方法
推荐阅读
-
ASP.NET生成eurl.axd Http异常错误的处理方法
-
asp.net Http异常eurl.axd出错信息解决方法
-
ASP.NET mvc异常处理的方法示例介绍
-
asp.net 错误:0x8007000B 异常的解决方法
-
asp.net 错误:0x8007000B 异常的解决方法
-
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
-
asp.net iis7默认文档错误异常的解决方法
-
ASP.NET 全局异常处理的方法
-
SQLserver2000 企业版 出现"进程51发生了严重的异常"错误的处理方法
-
SQLserver2000 企业版 出现"进程51发生了严重的异常"错误的处理方法