Following up on my previous posts on this topic, this time I want to present really scalable solution to the problem of scaling client-server two-way communication in Silverlight 3 in the cloud. This solution is based on great implementation of HTTP polling duplex my colleague Tomasz Janczuk of Silverlight WCF team has just described on his blog.
One major difference between this and previous solutions is that server side of PollingDuplex channel (Microsoft.ServiceModel.PollingDuplex.dll) is now replaced with implementation that does not hold any client session state in memory of a single machine but rather provides "hooks" for scalable storages such as Windows Azure Storage and Velocity. Leveraging this new concept I've implemented Windows Azure Storage-based session tracking. The final solution does not need any SL3 clients previously using PollingDuplex to be modified - only server side has to replace a reference to Microsoft.ServiceModel.PollingDuplex.dll with a new library reference. This solution scales well in both local development and live Azure Storage and can be further extended to accomodate other scalable storage technologies. I will publish the source code and more detailed description soon. Stay tuned.
"I will publish the source code and more detailed description soon. Stay tuned."
Hi, when is soon, or where can I find your solution?
Cheers and thanks for all the good work
@Bernd: it was published just few days later here: blogs.msdn.com/.../scalable-duplex-messaging-with-silverlight-3-and-windows-azure.aspx
Please note though that even that implementation is now obsolete with release of SL4. The latest one that works on 2+ Azure nodes is part of larger solution published at code.msdn.microsoft.com/rca