在我们的应用程序中,我们的一些REST风格的WCF调用失败了。这些调用是C#类服务实现的一部分,这些实现具有许多其他可用的对等服务调用。此外,在所有情况下,失败方法的服务调用都不会失败。
基本上,我看到的情况是,在FireBug中观看XHR服务呼叫时,会发送请求。然后,在大约1秒后,浏览器显示404 Not Found的响应或500系列中的某些内容 - 根据情况不同。
如果我在服务器代码中放置一个断点,则服务调用将到达用户代码,并且该代码将生成整个正确的结果。但是,浏览器仍会返回这些错误代码。并且,它不会等到用户代码完成处理 - 它仍然需要大约1秒,而不是超时问题。
WCF跟踪不提供任何答案(对我而言),但它确实提供了另一条线索。 System.InvalidOperationException错误情况,消息“已从此RequestContext发送了回复”。如果我尝试的话,我认为我不能在WCF中向同一个请求发送两个响应。
我不希望有人能够准确地使用这个场景的不完整图片来诊断我的WCF问题,但也许有人可以解释工作中允许进行服务调用的机制,请求是接收和路由,生成正确的响应,同时从WCF单独返回错误消息(并且可能在正常响应之前)。
答案 0 :(得分:1)
我在稍微不同的背景下看到了同样的问题。
会发生什么:
这也解释了为什么在服务器处理完成之前收到错误的原因。
检查您的代码是否有任何可以在http标头中设置值的内容。