我们在BizTalk中有一个应用程序已经开始报告错误。它似乎与maxItemsInObjectGraph有关,通过修改CONFIG文件修复了Web应用程序。但它在BizTalk中仍然失败。 我被告知我可以在BitTalk中配置接收位置并将其设置在那里? 但是我似乎只能在这里增加最大接收消息大小,而不是MaxitemsinGraph。 我是BizTalk的新手,但任何想法都会非常感激。
错误报告为
Error Description: System.ServiceModel.CommunicationException: An error occurred while receiving the HTTP response to http://servername:8448/ServicePortal.Service/ApplicationServices.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
由于 理查德
答案 0 :(得分:0)
这是在端点行为中定义的:
<endpointBehaviors> <behavior name="wsServiceBehaviour">
<dataContractSerializer
maxItemsInObjectGraph="6553600"/>
</behavior> </endpointBehaviors>
请确保告诉您的终端使用此行为:
<client>
<endpoint address="http://localhost:8379/HelloService/"
binding="basicHttpBinding"
behaviorConfiguration="wsServiceBehaviour"
contract="ServiceContracts.IHello"
name="BasicHttpBinding_IIHello" />
</client>
答案 1 :(得分:0)
我收到了相同的错误消息,但问题与服务端有关。
应用程序池假设在“最大虚拟内存”达到一定量时发生回收。这不应该是任何问题,应该允许任何当前线程完成,但在我们的情况下,服务花费的时间比“关闭时间限制”允许的时间长。 应用程序池回收使服务端切断了连接。
如果您可以使用其他应用程序(例如Windows测试应用程序)测试具有相同请求消息的相同服务,则此应该是可重现的。如果应用程序池已经回收,您的技术人员当然可以在日志中查看。