1

我们有一个 ASP.NET 应用程序。它通过 JavaScript 中的 ScriptManager.AddServiceReference 引用调用 WCF 服务。

直到我们将应用程序转换为使用“集成 Windows 身份验证”,一切都很好。

但在将其转换为“集成 Windows 身份验证”后,我们开始收到 javascript 错误,例如:

"Error in deserializing body of request message for operation 'GetStockCodeData'. 
 The OperationFormatter could not deserialize any information from the Message because 
 the Message  is empty  (IsEmpty = true). "

顺便说一句,WCF 调用在某些客户端上运行良好,但在其他一些客户端上不起作用。

有趣的是,当我们在有问题的客户端上打开 Fiddler 时,一切正常。

这似乎是代理问题,但在同一台机器上,使用相同的代理配置,其他一些用户可以工作。

你能给我们一些想法吗?

4

1 回答 1

1

从错误来看,这可能与我在这里讨论的问题有关:http: //blogs.msdn.com/b/ieinternals/archive/2010/11/22/internet-explorer-post-bodies-are-zero-身份验证挑战时的字节长度是预期的.aspx

简短的总结是,如果客户端浏览器希望获得身份验证质询,它可能会省略请求的 POST 正文(出于性能原因),直到服务器发出身份验证质询。

于 2013-03-07T18:54:17.217 回答