Search code examples
wcfsilverlightpollingduplexhttpbinding

Set the Timeout of a Callback in a Polling Duplex WCF Service


I have a WCF service with a CallbackContract. The service is exposed to a Silverlight client using "pollingDuplexHttpBinding" When the Silverlight client is "dead" and the service calls a callback operation, it gets a timeout exception after one minute. How can I set this timeout to be different?

Thanks, Elad


Solution

  • So it seems that the "SendTimeout" attribute of PollingDuplexHttpBinding does the job:

    <extensions>
      <bindingExtensions>
        <add name="pollingDuplexHttpBinding" type="System.ServiceModel.Configuration.PollingDuplexHttpBindingCollectionElement, System.ServiceModel.PollingDuplex, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </bindingExtensions>
    </extensions>
    
    <bindings>
    
      <pollingDuplexHttpBinding>
        <binding name="myPollingDuplex" sendTimeout="00:00:05"/>
      </pollingDuplexHttpBinding>
    
    </bindings>
    
    
    <services>
      <service name="Kodak.Pgy.Server.Event.WCFService.EventService" behaviorConfiguration="EventBehavior">
    
        <!--For duplex communication with the service from silverlight client-->
        <endpoint address="/for-silverlight" binding="pollingDuplexHttpBinding" bindingConfiguration="myPollingDuplex" contract="IEventService"/>
    
      </service>
    
    </services>