Установите время ожидания обратного вызова в дуплексной службе WCF с опросом - PullRequest
1 голос
/ 12 февраля 2012

У меня есть служба WCF с CallbackContract.Служба предоставляется клиенту Silverlight с помощью «pollingDuplexHttpBinding». Когда клиент Silverlight «мертв» и служба вызывает операцию обратного вызова, она получает исключение тайм-аута через одну минуту.Как я могу установить другое время ожидания?

Спасибо, Elad

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

Итак, похоже, что атрибут «SendTimeout» PollingDuplexHttpBinding делает свою работу:

<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>
0 голосов
/ 13 февраля 2012

В MSDN есть хорошая статья, связанная с настройкой PollingDuplexHttpBinding :

//Inactivity timeout
PollingDuplexHttpBinding binding = new PollingDuplexHttpBinding();    
//Get default inactivity timeout
TimeSpan defaultInactivityTimeOut = binding.InactivityTimeout;
//Returns default timeout in minutes: 10
string txtDefaultInactivityTimeOut = defaultInactivityTimeOut.Minutes.ToString();    
//Set new inactivity timeout
TimeSpan newInactivityTimeOut = new TimeSpan(0, 5, 0);
binding.InactivityTimeout = newInactivityTimeOut;

ОБНОВЛЕНИЕ : Под 'Для использования PollingDuplexHttpBinding' параграф ' Как: создать дуплексную службу для клиента Silverlight ', есть пример на основе web.config для настройки PollingDuplexHttpBinding.

Надеюсь, это поможет.

...