【发布时间】:2011-01-06 22:45:38
【问题描述】:
所以我有一个 WCF 服务,它似乎可以在已部署的生产环境中完美运行。尽管在此 WCF 服务的单元测试期间,我的构建会间歇性地失败。奇怪的是,它并不总是相同的单元测试,但它总是使用 WCF 服务的单元测试。
例外:
System.ServiceModel.FaultException[System.ServiceModel.ExceptionDetail]: The number of bytes available is inconsistent with the HTTP Content-Length header. There may have been a network error or the client may be sending invalid requests.
奇怪的是,该异常实际上只发生在构建机器上,而从未发生在开发机器上。它似乎只发生在大约 75% 的时间。
WCF 不是我在 .NET 中最强大的方面,因此任何能帮助我指明正确方向的帮助都会很有用。
【问题讨论】:
-
看来我已经明白了。似乎其中一个 catch 子句是调用 client.Close() 而不是 client.Abort()。 client.Close() 可以抛出一个额外的异常,这就是正在发生的事情。 client.Abort() 不会抛出异常。
-
请将解决方案作为答案发布并自行接受。它会将您的问题从“未回答”的问题中删除。
-
抱歉,mkernbach。更新了答案以使其退出队列。