WCF ReliableMessaging方法调用两次

时间:2010-05-25 16:32:54

标签: wcf ws-reliablemessaging

使用Fiddler,我们会在以下情况下看到 3个HTTP请求(以及匹配的响应)

  • 启用了WS-ReliableMessaging,
  • 该方法返回大量数据(17MB)

第一个HTTP请求是带有“CreateSequence”操作的SOAP消息(可以建立可靠的会话)。第二个和第三个HTTP请求是调用我们的Web服务方法的相同SOAP消息。为什么有两条相同的消息?

这是我们的配置:

  <system.serviceModel>   
    <client>
      <endpoint address="http://server/vdir/AccountingService.svc"
                binding="wsHttpBinding"
                bindingConfiguration="customWsHttpBinding" 
                behaviorConfiguration="LargeServiceBehavior"
                contract="MyProject.Accounting.IAccountingService"
                name="BasicHttpBinding_IAccountingService" />
    </client>
    <bindings>
      <wsHttpBinding>
        <binding name="customWsHttpBinding" maxReceivedMessageSize="90000000">
          <reliableSession enabled="true"/>
          <security mode="None" />
        </binding>
      </wsHttpBinding>
    </bindings>
    <behaviors>
      <endpointBehaviors>
        <behavior name="LargeServiceBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>

谢谢,

布赖恩

1 个答案:

答案 0 :(得分:0)

这是由ReliableMessaging重新尝试引起的。该消息需要2秒多的时间来处理和传输。