Peter McGrattan’s Weblog

Silverlight, WCF, ASP.NET, AJAX, Graphics, RIA

Silverlight 2 RC0 Polling Duplex Evolution

Posted by petermcg on September 30, 2008

The release of Silverlight RC0 presents some minor breaking changes for applications using the polling duplex support provided in Beta 2.

The summary of these changes taken from the full Breaking Changes Since Beta 2 document is as follows:

  • PollTimeout setting on the server side (PollingDuplexHttpBinding and PollingDuplexBindingElement) has been renamed to ServerPollTimeout

  • PollTimeout setting on the PollingDuplexBindingElement (client side) has been renamed to ClientPollTimeout.

  • PollTimeout setting on the PollingDuplexHttpBinding (client side) has been cut. In most scenarios, it should not be necessary to change this. If a change is necessary, it can be achieved through the ClientPollTimeout on the PollingDuplexBindingElement.

  • Client-side support has been cut from the non-Silverlight (server-side) polling duplex assembly (i.e. BuildChannelFactory will throw a NotSupportedException). That is, in RTM, the client side for polling duplex must be Silverlight (and the server side must be the regular .NET Framework, but this restriction was already in place in Beta2).

  • Default timeouts have been changed for the Duplex channel. For most common scenarios, the new out-of-the-box defaults should be appropriate and there is no need to change them.

  • An error (404) on a polling request will cause the duplex channel to fault.

  • Various invalid messages used to be ignored by the Duplex stack but will now be rejected.

  • If any HTTP error (404,500,…) is encountered during a SOAP call, a CommunicationException is now thrown instead of a ProtocolException.

Earlier this month I put together a series of posts representing somewhat of a deep-dive into the WCF Polling Duplex support in Silverlight 2 Beta 2.  The series is in three parts covering Architecture, The Server and The Client and will still be largely relevant.  The source code for a Beta 2 sample application discussed across parts two and three is available for download.

I will be on vacation over the next week-and-a-bit and won’t be able to respond to emails/queries immediately but I do fully intend to update the polling duplex sample application to account for these breaking changes when I return.  Applications built with Beta 2 will not run on final runtime builds so I will also update the other samples available on this blog including the pie/doughnut chart and Sockets samples in the near future.


3 Responses to “Silverlight 2 RC0 Polling Duplex Evolution”

  1. […] McGrattan’s on his Silverlight 2 RC0 Polling Duplex Evolution (also check out Silverlight 2 WCF Polling Duplex Support – Part 3: The […]

  2. Dimitri said

    This sample only shows a way to do the Polling Duplex service when you can run your own ServiceHost (in the console app). If you’re on something like a shared hosting plan, is there any way to get this up and going without having to run your own Service Host?

  3. Dimitri said

    NVM! Just found out you can define the factory in the .svc markup file. Thanks for a great post.

Sorry, the comment form is closed at this time.

%d bloggers like this: