PollingDuplex using MultipleMessagesPerPoll issue in latest SL4 GDRs


Some customers are reporting on the Silverlight forums that they are unable to have a functional PollingDuplexHttpBinding setup, or their current polling duplex client have faulted channels. This behavior is a regression introduced in SL4 GDR1 and is visible when the following conditions are put together:

-Use of PollingDuplex
-DuplexMode is set to MultipleMessagesPerPoll
-Http stack is set to BrowserHttpWebRequest (the default stack)
-Client browser is IE8 with SL4 GDR1 or later runtime
-A poll completes after ServerPollTimeout and there is no content to consume by the client

Should you have all these conditions filled the client channel will fault. The issue will not manifest if you use any other browser.

The workaround and definitive solution would be to use the ClientHttp stack. You can do so using these instructions:

http://msdn.microsoft.com/en-us/library/system.net.browser.webrequestcreator%28v=vs.95%29.aspx

You can narrow the scope this applies to down to the specific service addresses you are accessing if you do not want to use the ClientHttp stack on all http transfers.

Comments (8)

  1. Randi Relander says:

    Unfortunately, I also need ASP.NET security for my WCF service so using ClientHttp stack is a non-solution. Anyone know when this will be fixed and if there are any other options that will get the browser cookie to the WCF service?

  2. yavor says:

    Hi Randi – we are working on getting this fixed ASAP, but I can't provide a timeline yet.

    If you use ClientHttp and want access to cookies, check out the CookieContainer property on the generated proxy. Check out this example: msdn.microsoft.com/…/dd560704(v=VS.95).aspx

  3. eXavier says:

    Concerning testing using VS Test project (web performance test) – is there any support for ClientHttp stack?

  4. Chris says:

    I am getting this problem, however if I switch to the ClientHttp stack, it solves the IE problem – however Chrome 9 and Firefox 3.5 will then fault the channels after 30 seconds (not ServerPollTimeout).  I'm using silverlight 4 GDR3.  Can you confirm this scenario is also a bug or if I need to diagnose elsewhere?

  5. yavor says:

    @Chris – we can confirm that there is an issue with ClientHttp where browsers other than IE will time out after 30 seconds. We are looking at address this as soon as possible.

    Thanks,

    -Yavor Georgiev

    Program Manager, WCF

  6. Marek Benes says:

    Any news about this issue?

  7. yavor says:

    I can confirm that this will be fixed in Silverlight 5.

    Thanks,

    -Yavor

  8. Is there an example of an application that uses duplex polling over https in Silverlight and shows the configuration file? I am having configuration problems with such an application.