我遇到了wcf服务问题。 Wcf服务方法由应用程序提供。这个应用程序经常调用服务方法(每分钟几十次)。正确调用服务方法(最后使用Close(),或者在异常之后使用Abort())。对我来说最奇怪的是,几个小时后我的应用程序就会收到来自服务的错误:
接收到http://domain.xx/MyService.svc的HTTP响应时发生错误。这可能是由于服务端点绑定不使用HTTP协议。这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭)。请参阅服务器日志以获取更多详底层连接已关闭:接收时发生意外错误。无法从传输连接读取数据:远程主机强行关闭现有连接。
或者这个:
* 请求频道在等待00:15:00之后的回复时超时。增加传递给Request的调用的超时值或增加Binding上的SendTimeout值。分配给此操作的时间可能是较长超时的一部分。对'http://domain.xx/MyService.svc'的HTTP请求已超过分配的超时00:15:00。分配给此操作的时间可能是较长超时的一部分。该操作已超时*
有什么可以反映这样的错误?为什么服务在几个小时内就能正常运行?
答案 0 :(得分:1)
我会检查您的应用程序日志。根据我的经验,这些错误往往使我更多的服务器相关而不是代码相关。 IIS可能有问题。
答案 1 :(得分:0)
我知道你提到了它,但看起来你没有正确关闭你的频道。此外,请确保不要将同一客户端用于许多服务器调用。只需创建一个,将其用于单个调用,然后进行处理。
这是关于关闭WCF频道的good read。