【发布时间】:2011-11-02 07:02:07
【问题描述】:
我有一个流量很大的网站,并且有很多网络服务调用。我所有的 Web 服务 95% 的时间都在工作,但我每天都会在日志中收到此错误消息:
请求格式无法识别,因为 URL 意外以“/MyWebServiceName”结尾。
我用谷歌搜索过这个问题,我发现的只是引用这个问题的页面: Request format is unrecognized for URL unexpectedly ending in
但这不适用于我,因为我的网络服务大部分时间都在工作。我的 web.config 中已经有了该代码。
有人知道是什么原因造成的吗?
信息:
- Windows Server 2008。
- IIS7 上的 ASP.NET 2.0。
- 使用jQuery调用webservices。
代码示例:
jQuery 调用
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: '/MyWebServiceName',
dataType: 'json',
success: function(msg) {
// On success
},
error: function(xhr, textStatus, errorThrown) {
// On error
}
});
从网络服务返回:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">
[{"ID":"GB","Name":"Great Britain"},{"ID":"IT","Name":"Italy"},{"ID":"DE","Name":"Germany"}]
</string>
当我通过浏览器调用网络服务时,我确实会返回数据(见上图),但我想知道为什么它有时会失败。
【问题讨论】:
-
你没有在帖子中看到我的评论吗?我通知了该帖子的链接,但我认为它不适用于我的问题。
-
您的 ajax 请求执行 POST。你能看看当你用不同类型的请求访问同一个 url 时会发生什么吗? (例如获取)。可能是“无法识别 URL 意外以'/MyWebServiceName'结尾的请求格式”。仅在不支持请求类型时出现,例如当用户在其浏览器中打开链接时。