0

我有一个控制台应用程序,它调用 WCF 服务来授权给定商店 ID 的预定信用卡付款。昨晚它调用了这个服务超过 100 次,其中一个调用,它得到了这个错误:

System.ServiceModel.CommunicationException:接收到 [service url] 的 HTTP 响应时发生错误这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务关闭)。有关更多详细信息,请参阅服务器日志。---> System.Net.WebException:底层连接已关闭:接收时发生意外错误。---> System.IO.IOException: Unable to read data from the transport connection: 一个现有的连接被远程主机强行关闭。---> System.Net.Sockets.SocketException: 现有连接被远程主机强行关闭

引起我们注意的是,这家商店的前 100 笔交易已获得授权,但 43 笔交易未获得授权(未尝试)。服务方法简单地抓取所有 143 并对它们执行一个 foreach 循环,一次授权它们 1 个。该方法返回一个包含在自定义对象中的布尔结果,该对象还可以在必要时返回错误信息,但该对象应该很小,并且不会根据处理的事务量改变大小。我提到这一点是因为我读过一个案例,其中这个异常发生在一定大小的响应中。但就我而言,似乎在它试图返回之前发生了一些事情。服务在循环过程中停止处理,此时客户端收到此异常。有任何想法吗?

4

0 回答 0