在IIS中同时启用了ASPNET 和 ASPNET 后网站程序可能会出现如下错误“ SystemWebHttpException: Path ‘//eurlaxd/‘ was not found ”
错误发生的原因是当ASPNET检测到Web站点配置为使用ASPNET 本地ASPNET 的组件会传递一个不能扩展的 URL到ASPNET的管理程序作进一步处理但是如果一个低于ASPNET 的网站配置为使用ASPNET 处理这样不能扩展的 URL 时URL的修改结果中会包含字符串“eurlaxd”修改后的URL会被发送到 ASPNET 应用程序
ASPNET 中是不能识别“eurlaxd”的因此ASPNET 会尝试查找一个文件名为“eurlaxd”的文件并执行它因为没有这样的文件所以会请求失败Http异常并抛出带有字符串“eurlaxd”的错误
有三种方法可以解决这样的问题
如果网站程序不需要ASPNET ? 的支持那么可以直接配置网站使用ASPNET
如果网站程序需要ASPNET ?的支持就需要将该网站下使用ASPNET 的虚拟目录移动到其他网站
如果上面两种方法都不适用于你的实际情况那么就只能用这种方法了
打开注册表找到“HKEY_LOCAL_MACHINESOFTWAREMicrosoftASPNET”添加键值名为“EnableExtensionlessUrls” 类型为“DWORD”的键值并设置值为“”然后在cmd中运行“IISRESET”重启IIS以读取注册表修改后的内容注此项修改就是关闭ASPNET ?对无扩展URL的处理若将此项键值设为“”则开启