Thursday, August 30, 2012

WCF >> DUPLEX >> SILVERLIGHT >> pollingDuplexHttpBinding = VERY SLOW ! BIG DELAY

WCF >> DUPLEX >> SILVERLIGHT >> pollingDuplexHttpBinding = VERY SLOW ! BIG DELAY

I have

WCF with wsDualHttpBinding binding for WPF applciation --> works good ! get WCF publish mthods immediately.

another binding with pollingDuplexHttpBinding for silvelight 4 --> very slow --> 30++- seconds delay after the wpf application got it ( the WPF gets it immediately )

Why is that ? best google result was

http://blogs.msdn.com/b/silverlightws/archive/2009/09/30/having-a-pollingduplex-service-and-any-other-wcf-service-in-the-same-website-causes-silverlight-calls-to-be-slow.aspx

which I didn't really know how to contiune ...

<system.serviceModel>      <!-- Register the binding extension from the SDK. -->     <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>       <wsDualHttpBinding>         <binding name="wsDualHttpBinding"                  maxBufferPoolSize="2147483647"                  maxReceivedMessageSize="2147483647">           <readerQuotas maxDepth="2147483647"                         maxStringContentLength="2147483646"                         maxArrayLength="2147483646"                         maxBytesPerRead="2147483647"                         maxNameTableCharCount="2147483647" />         </binding>       </wsDualHttpBinding>       <pollingDuplexHttpBinding>         <binding name="multipleMessagesPerPollPollingDuplexHttpBinding"                  duplexMode="MultipleMessagesPerPoll"                  maxOutputDelay="00:00:30"                  maxBufferPoolSize="2147483647"                  maxReceivedMessageSize="2147483647">           <readerQuotas maxDepth="2147483647"                         maxStringContentLength="2147483646"                         maxArrayLength="2147483646"                         maxBytesPerRead="2147483647"                         maxNameTableCharCount="2147483647" />         </binding>       </pollingDuplexHttpBinding>     </bindings>        <services>       <service behaviorConfiguration="" name="TheWCFService.Service1">          <endpoint address="wsDualHttpBinding"                   binding="wsDualHttpBinding"                   bindingConfiguration="wsDualHttpBinding"                   contract="TheWCFService.IService1">           <identity>             <dns value="localhost" />           </identity>         </endpoint>          <endpoint           address="mex"           binding="mexHttpBinding"           bindingConfiguration=""           contract="IMetadataExchange" />          <endpoint            address="pollingDuplexHttpBinding"            binding="pollingDuplexHttpBinding"            bindingConfiguration="multipleMessagesPerPollPollingDuplexHttpBinding"            contract="TheWCFService.IService1">         </endpoint>          <host>           <baseAddresses>             <add baseAddress="http://localhost:8732/Service1/" />           </baseAddresses>         </host>        </service>     </services>      <behaviors>       <serviceBehaviors>         <behavior name="">           <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->           <serviceMetadata httpGetEnabled="true" />           <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->           <serviceDebug includeExceptionDetailInFaults="true" />           <dataContractSerializer maxItemsInObjectGraph="6553600"/>           <serviceThrottling maxConcurrentSessions="500" maxConcurrentCalls="500" maxConcurrentInstances="500" />         </behavior>       </serviceBehaviors>     </behaviors>      <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />   </system.serviceModel> 

Answers & Comments...




No comments:

Post a Comment

Send us your comment related to the topic mentioned on the blog