<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Silverlight Web Services Team</title><link>http://blogs.msdn.com/silverlightws/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>PollingDuplex scaling in Windows Azure</title><link>http://blogs.msdn.com/silverlightws/archive/2009/11/24/pollingduplex-scaling-in-windows-azure.aspx</link><pubDate>Tue, 24 Nov 2009 19:58:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928198</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9928198.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9928198</wfw:commentRss><description>&lt;p&gt;One of the great sessions at this year’s PDC talked about a collaboration between Invensys and Microsoft’s DPE team to build a solution that can deliver energy pricing information to a variety of clients, using a duplex message pattern. &lt;/p&gt;  &lt;p&gt;Effectively Invensys used a WCF service hosted in a Windows Azure web role to tunnel bi-directional HTTP traffic from the Windows Azure platform AppFabric service bus capability to Silverlight clients. Unfortunately this workaround is needed since the TCP-based relay binding that service bus offers is not supported in Silverlight at this point.&lt;/p&gt;  &lt;p&gt;Once Invensys was using PollingDuplex in Azure, they needed to scale to a large number of clients, so they needed to enable scale out between multiple web role instances. This capability is not available out-of-the-box in Silverlight 3, so some hackery was required, as described in these blog posts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html"&gt;Scale-out of Silverlight HTTP polling duplex WCF service in a web farm scenario&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/ales/archive/2009/09/22/scalable-duplex-messaging-with-silverlight-3-and-windows-azure.aspx"&gt;Scalable Duplex Messaging with Silverlight 3 and Windows Azure&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The relevant content starts at around &lt;strong&gt;&lt;u&gt;minute 38&lt;/u&gt;&lt;/strong&gt; in the video below.&lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="640" height="360"&gt; &lt;param name="source" value="http://microsoftpdc.com/Skins/PDC09/Styles/players/VideoPlayer2009_03_27.xap" /&gt; &lt;param name="initParams" value="m=http://ecn.channel9.msdn.com/o9/pdc09/wmv/SVC31.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://microsoftpdc.com/Skins/PDC09/Styles/images/DefaultPlayerBackground.png, postid=0" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;  &lt;p&gt;&lt;strong&gt;While getting PollingDuplex to scale in Azure in Silverlight 3 requires some manual steps, the team is considering supporting this scenario out-of-the-box in Silverlight 4. It is not available in Silverlight 4 Beta, but please use the comments to submit your feedback.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Thanks,    &lt;br /&gt;Yavor Georgiev     &lt;br /&gt;Program Manager &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928198" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlightws/archive/tags/duplex/default.aspx">duplex</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/azure/default.aspx">azure</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/pdc/default.aspx">pdc</category></item><item><title>WCF net.tcp protocol in Silverlight 4 Beta</title><link>http://blogs.msdn.com/silverlightws/archive/2009/11/18/wcf-net-tcp-protocol-in-silverlight-4-beta.aspx</link><pubDate>Wed, 18 Nov 2009 20:55:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924691</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9924691.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9924691</wfw:commentRss><description>&lt;p&gt;Support for the WCF net.tcp protocol is the key feature addition in the core of WCF offering in Silverlight 4 Beta. &lt;/p&gt;  &lt;p&gt;Read more about the &lt;a href="http://tomasz.janczuk.org/2009/11/wcf-nettcp-protocol-in-silverlight-4.html"&gt;benefits and limitations of the net.tcp protocol in Silverlight 4&lt;/a&gt; to decide if it is a good fit for your application. You can also check out &lt;a href="http://tomasz.janczuk.org/2009/11/pubsub-sample-with-wcf-nettcp-protocol.html"&gt;a walk-through of adding net.tcp support to a pub\sub Silverlight application&lt;/a&gt; or inspect the code of the sample to get a better idea of what’s involved in creating an end to end solution using net.tcp in Silverlight. &lt;/p&gt;  &lt;p&gt;Tomasz Janczuk   &lt;br /&gt;Development Manager    &lt;br /&gt;WCF Team&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924691" width="1" height="1"&gt;</description></item><item><title>New Web Services Features in Silverlight 4 Beta</title><link>http://blogs.msdn.com/silverlightws/archive/2009/11/18/new-web-services-features-in-silverlight-4-beta.aspx</link><pubDate>Wed, 18 Nov 2009 18:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924523</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9924523.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9924523</wfw:commentRss><description>&lt;P&gt;This morning at PDC ’09 ScottGu just announced the availability of Silverlight 4 Beta. Later on today I am going on to present the latest improvements around networking and web services and I’ll link to the full talk as soon as it is available online. In this post I’ll provide a quick summary of today’s announcements, with more detail to follow.&lt;/P&gt;
&lt;P&gt;On the high level, we are announcing an exciting alignment between the different web services stacks in Silverlight. ADO.NET Data Services and .NET RIA Services are being rebranded as WCF Data Services and WCF RIA Services to reflect the fact that both technologies are being built out as programming models on top of WCF. In a way, this is not really major news; to you as a developer, pretty much everything stays the same, and you can continue using your favorite technology, whether it is straight WCF, or WCF RIA Services or WCF Data Services. &lt;/P&gt;
&lt;P&gt;RIA Services and Data Services give you productive patterns for specific kinds of services and applications, hiding away some of the complexity of using WCF directly. The power of WCF is still there for you under the covers, if you need to modify some setting to your liking.&lt;/P&gt;
&lt;P&gt;Specifically within the core WCF model, Silverlight 4 Beta has support for a brand new binding: &lt;STRONG&gt;NetTcp&lt;/STRONG&gt;. This binding lets Silverlight talk to WCF services using a high-performance TCP pipe, using a duplex message pattern. In Silverlight, the binding is built on top of the sockets support that’s already there since Silverlight 2, so we inherit the security requirements of the Silverlight sockets API. More specifically, the service needs to be hosted in a given port range (4502 – 4534) and needs to expose a policy responder on port 943. One more thing to be aware of is that the security support and the streamed programming model for NetTcp available in WCF on the desktop framework are not available in Silverlight 4 Beta.&lt;/P&gt;
&lt;P&gt;We’ll have a lot more content for you coming up soon, including the code from my talk today. If you want to get your hands dirty right away, go get the Silverlight 4 Beta, and then try &lt;A href="http://msdn.microsoft.com/en-us/library/cc645026(VS.96).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645026(VS.96).aspx"&gt;the steps this how-to in our MSDN documentation, which has already been updated and show usage for NetTcp&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;More information:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/11/18/welcome-to-wcf-ria-services-beta.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/11/18/welcome-to-wcf-ria-services-beta.aspx"&gt;Brad Abrams on WCF RIA Services&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/simplifying-our-n-tier-development-platform-making-3-things-1-thing.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/simplifying-our-n-tier-development-platform-making-3-things-1-thing.aspx"&gt;Mike Flasko on WCF Data Services&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Thanks, and looking forward to your feedback!&lt;BR&gt;Yavor Georgiev&lt;BR&gt;Program Manager, Silverlight&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924523" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlightws/archive/tags/tcp/default.aspx">tcp</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/data+services/default.aspx">data services</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/ria+services/default.aspx">ria services</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/pdc/default.aspx">pdc</category></item><item><title>Adoption of Silverlight serialization and communication technologies in web applications – October 2009</title><link>http://blogs.msdn.com/silverlightws/archive/2009/10/16/adoption-of-silverlight-serialization-and-communication-technologies-in-web-applications-october-2009.aspx</link><pubDate>Fri, 16 Oct 2009 20:47:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908371</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9908371.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9908371</wfw:commentRss><description>&lt;p&gt;We have repeated the research of the adoption of communication and serialization technologies in Silverlight applications that was originally done in February 2009. &lt;a href="http://tomasz.janczuk.org/2009/10/adoption-of-silverlight-serialization.html"&gt;The new report is based on a research done in October 2009&lt;/a&gt; and will give you an idea of the changing preferences of Silverlight developers. Enjoy and let us know what you think.&lt;/p&gt;  &lt;p&gt;Tomasz Janczuk   &lt;br /&gt;Development Manager    &lt;br /&gt;WCF Team&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908371" width="1" height="1"&gt;</description></item><item><title>Having a PollingDuplex service and any other WCF service in the same website causes Silverlight calls to be slow</title><link>http://blogs.msdn.com/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</link><pubDate>Wed, 30 Sep 2009 23:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9901498</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9901498.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9901498</wfw:commentRss><description>&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;After polling duplex support for WCF was released in Silverlight 2 (&lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd470105(VS.95).aspx"&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;http://msdn.microsoft.com/en-us/library/dd470105(VS.95).aspx&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;), some customers reported the issue that when a polling duplex service co-exists with normal WCF service on the same IIS web application, the WCF service might be significantly slowed sometimes.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;In this post we will show you the process the team followed to resolve the issue. Hopefully you will find this useful in debugging your own SL apps when you encounter a problem. Please see the end of the post for the solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;The first thing we have to do is to create some code that reproduces the issue. After contacting customers to get there scenarios and settings, we are able to create a test Silverlight application and ASP.Net web application that consistently reproduce this issue (see attached probject). Our test application has two client proxies, one polling duplex based stock ticker and one normal BasicHttpBinding-based calculator. Once the xap is loaded, calculator proxy will start continuously calling the “Add” method of the calculator. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;The app also has a checkbox which will cause the stock ticker service to start sending periodic stock price updates to the SL client, so at this point the SL all will be using both the regular WCF service and the polling duplex service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;By doing some research we identified that the following features could be influencing the observed slow behavior:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 12pt 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; COLOR: #1f497d; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Using WCF’s ASP.Net Compatibility Mode&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 12pt 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; COLOR: #1f497d; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Using ASP.Net sessions&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 12pt 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; COLOR: #1f497d; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Selecting between the Silverlight BrowserHttp or ClientHttp stack&lt;B&gt;&lt;I&gt; &lt;/I&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;We then ran a series of tests to determine when we could observe the slowness reported by our customers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 25.9pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 25.9pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 25.9pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Browser Http&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 25.9pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Client Http&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 0.2in; mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 0.2in; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;ASP.Net compat mode enabled&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Session enabled.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 0.2in; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="BACKGROUND: yellow; COLOR: #1f497d; FONT-SIZE: 12pt; mso-highlight: yellow"&gt;&lt;FONT face=Calibri&gt;Slow&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 0.2in; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Normal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 53.75pt; mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 53.75pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;ASP.Net compat mode enabled&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Session disabled&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 53.75pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Normal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 53.75pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Normal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 40.8pt; mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 40.8pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;No ASP.Net compat&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 40.8pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Normal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #d4d0c8; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 156pt; PADDING-RIGHT: 5.4pt; HEIGHT: 40.8pt; BORDER-TOP: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=208&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 12pt 0in 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Normal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;As it shows above, the slowdown of the WCF call happens when the services are hosted in ASP.Net compat mode AND when user enabled ASP.Net sessions. The ASP.Net session is enabled when your web application has a global.asax file and it contains a session_start method. It turns out when the ASP.Net session state is enabled, requests for the same session will be processed sequentially. &lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: #1f497d"&gt;So the calls to the responses for the regular WCF service will get queued up behind the long polls made to the polling duplex service.&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;Using Fiddler, we can capture the HTTP packages and see the mechanism that ASP.Net uses to enable the session. It is enabled by setting the ASP.NET_SessionId cookie from service side.&lt;/SPAN&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;POST /PollingWcfServices/ServiceWcf.svc HTTP/1.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Accept: */*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Content-Length: 564&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Content-Type: application/soap+xml; charset=utf-8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Accept-Encoding: gzip, deflate&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;User-Agent: Mozilla/4.0 &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Host: foo&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Connection: Keep-Alive&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Pragma: no-cache&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="BACKGROUND: yellow; COLOR: #1f497d; FONT-SIZE: 10pt; mso-highlight: yellow"&gt;Cookie: ASP.NET_SessionId=iyr4sf55rm1kypafjdvlhm55&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;This is why the client stack can work around the concurrent requests issue. By default when you use client stack, cookies are not automatically maintained between requests so the cookie set on the server is not returned in the subsequent request. Without the cookie ASP.Net doesn’t know which session to lock and it doesn’t lock it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;I&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;To work around the slowness, the user can switch to using the client stack to access both services. If the user wants to take advantage of ASP.Net sessions for the regular WCF service, they can use the browser stack for the regular service and the client stack for the polling duplex service. Currently the polling duplex service cannot be used with the browser stack if ASP.Net sessions are enabled. Here is the documentation page on how to register the browser or client stack for a given service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;All WCF services require read/write session state access if you enable&lt;B&gt;&lt;I&gt; &lt;/I&gt;&lt;/B&gt;ASP.Net sessions, which causes the replies to be queued sequentially. &amp;nbsp;Ideally user should be able configure the WCF handler to be read only, which would allow polling duplex services to work with sessions. Unfortunately this is unsupported at this point. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 12pt 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Instruction for running the sample&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 12pt 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Run Visual Studio as administrator&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 12pt 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Enable anonymous authentication on the web application created by the project&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9901498" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlightws/attachment/9901498.ashx" length="41550" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/silverlightws/archive/tags/polling+duplex/default.aspx">polling duplex</category></item><item><title>Scale-out of Silverlight HTTP polling duplex WCF service in a web farm scenario</title><link>http://blogs.msdn.com/silverlightws/archive/2009/09/16/scale-out-of-silverlight-http-polling-duplex-wcf-service-in-a-web-farm-scenario.aspx</link><pubDate>Thu, 17 Sep 2009 04:08:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9896128</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9896128.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9896128</wfw:commentRss><description>&lt;p&gt;The &lt;a href="http://tomasz.janczuk.org/2009/08/performance-of-http-polling-duplex.html"&gt;recent post&lt;/a&gt; about performance of Silverlight HTTP polling duplex protocol pointed out scalability challenges associated with deploying a WCF service using the protocol in a web farm scenario. &lt;a href="http://tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html"&gt;This follow up article&lt;/a&gt; introduces one possible solution to the scale-out problem, enabling applications utilizing the protocol to accommodate an arbitrary number of concurrent clients through scale-out of the backend infrastructure.&lt;/p&gt;  &lt;p&gt;Let us know what you think!&lt;/p&gt;  &lt;p&gt;Tomasz Janczuk   &lt;br /&gt;Development Manager    &lt;br /&gt;WCF Team&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896128" width="1" height="1"&gt;</description></item><item><title>Channel9 WCF duplex demo</title><link>http://blogs.msdn.com/silverlightws/archive/2009/08/27/channel9-wcf-duplex-demo.aspx</link><pubDate>Thu, 27 Aug 2009 10:30:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9886660</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9886660.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9886660</wfw:commentRss><description>&lt;p&gt;&lt;a title="Watch Channel9 video" href="http://channel9.msdn.com/shows/The+Knowledge+Chamber/Yavor-Georgiev-Using-WCF-with-Silverlight-30/"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Watch Channel9 video" border="0" alt="Watch Channel9 video" src="http://blogs.msdn.com/blogfiles/silverlightws/WindowsLiveWriter/Channel9WCFduplexdemo_73D/TKC016YavorGeorgiev_large_ch9%5B1%5D_3.png" width="320" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Recently I spent some time with Robert Hess over at &lt;a href="http://channel9.msdn.com"&gt;Channel9&lt;/a&gt; discussing Silverlight 3 and giving a short demo of our duplex binding. If you haven’t seen PollingDuplex in action, this might be of interest.&lt;/p&gt;  &lt;p&gt;Cheers,    &lt;br /&gt;-Yavor Georgiev     &lt;br /&gt;Program Manager, Connected Framework &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9886660" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlightws/archive/tags/presentations/default.aspx">presentations</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/duplex/default.aspx">duplex</category></item><item><title>Using web service faults with the new SL3 client HTTP stack</title><link>http://blogs.msdn.com/silverlightws/archive/2009/08/17/using-web-service-faults-with-the-new-sl3-client-http-stack.aspx</link><pubDate>Mon, 17 Aug 2009 20:31:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9872546</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9872546.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9872546</wfw:commentRss><description>&lt;p&gt;Carlos, one of our team members, has posted an quick blog &lt;a href="http://blogs.msdn.com/carlosfigueira/archive/2009/08/15/fault-support-in-silverlight-3.aspx"&gt;post on how to use SOAP faults with the new client HTTP stack&lt;/a&gt;, introduced in SL3. This makes configuring faults significantly easier: there is no need to write custom code in your WCF service, and all you need to do is add one line of code to the Silverlight client.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;-Yavor Georgiev    &lt;br /&gt;Program Manager&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9872546" width="1" height="1"&gt;</description></item><item><title>AJAX client for HTTP polling duplex WCF channel in Microsoft Silverlight 3</title><link>http://blogs.msdn.com/silverlightws/archive/2009/08/05/ajax-client-for-http-polling-duplex-wcf-channel-in-microsoft-silverlight-3.aspx</link><pubDate>Thu, 06 Aug 2009 03:33:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9858539</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9858539.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9858539</wfw:commentRss><description>&lt;p&gt;If you are interested in coding an AJAX client application that consumes asynchronous data notifications from a WCF backend service using the Microsoft Silverlight 3 HTTP polling duplex channel, check out &lt;a href="http://tomasz.janczuk.org/2009/08/ajax-client-for-http-polling-duplex-wcf.html"&gt;the AJAX client for HTTP polling duplex sample&lt;/a&gt;. It contains a JavaScript library with client side implementation of the polling duplex protocol implemented in the PollingDuplexHttpBinding from Microsoft Silverlight 3. It has been tested with Internet Explorer 8, Firefox 3.5, and Chrome 2.0. Let us know what you think.&lt;/p&gt;  &lt;p&gt;Tomasz Janczuk   &lt;br /&gt;Development Manager    &lt;br /&gt;WCF Team&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9858539" width="1" height="1"&gt;</description></item><item><title>Pub/sub sample using HTTP polling duplex WCF channel in Microsoft Silverlight 3</title><link>http://blogs.msdn.com/silverlightws/archive/2009/07/24/pub-sub-sample-using-http-polling-duplex-wcf-channel-in-microsoft-silverlight-3.aspx</link><pubDate>Sat, 25 Jul 2009 03:26:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9847992</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9847992.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9847992</wfw:commentRss><description>&lt;p&gt;We now have a sample implementation of a pub/sub scenario that uses the HTTP polling duplex WCF channel shipped in Silverlight 3. The sample demonstrates some of the best practices for implementing performance-conscious duplex scenarios using the PollingDuplexHttpBinding, as well as the usability benefits of duplex WCF proxies generated using the Add Service Reference feature of Visual Studio in Silverlight 3. Check out &lt;a href="http://tomasz.janczuk.org/2009/07/pubsub-sample-using-http-polling-duplex.html"&gt;the full description of the polling duplex sample and access the source code&lt;/a&gt;, then let us know what you think. &lt;/p&gt;  &lt;p&gt;Tomasz Janczuk    &lt;br /&gt;Development Manager     &lt;br /&gt;WCF Team&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9847992" width="1" height="1"&gt;</description></item><item><title>Adoption of WCF technologies in Silverlight 2 applications on the web</title><link>http://blogs.msdn.com/silverlightws/archive/2009/07/09/adoption-of-wcf-technologies-in-silverlight-2-applications-on-the-web.aspx</link><pubDate>Fri, 10 Jul 2009 02:32:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9827845</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9827845.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9827845</wfw:commentRss><description>&lt;p&gt;If you are interested in what communication and serialization technologies are being used by others in Silverlight 2 applications, check out the post at &lt;a href="http://tomasz.janczuk.org/2009/07/adoption-of-wcf-technologies-in.html"&gt;http://tomasz.janczuk.org/2009/07/adoption-of-wcf-technologies-in.html&lt;/a&gt;. It is a summary of a research of over 700 actual Silverlight 2 applications conducted in February 2009. It compares the adoption numbers of several communication and serialization technologies, including WCF, in Silverlight 2 applications as well as provides basic analysis of backend service technology. &lt;/p&gt;  &lt;p&gt;Tomasz Janczuk   &lt;br /&gt;Development Manager    &lt;br /&gt;WCF Team&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9827845" width="1" height="1"&gt;</description></item><item><title>Improving the performance of web services in SL3 Beta</title><link>http://blogs.msdn.com/silverlightws/archive/2009/06/07/improving-the-performance-of-web-services-in-sl3-beta.aspx</link><pubDate>Mon, 08 Jun 2009 06:30:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9707403</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9707403.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9707403</wfw:commentRss><description>&lt;p&gt;Silverlight 3 Beta introduces a new way to improve the performance of web services. You have all probably used the &lt;em&gt;Silverlight-enabled WCF Service&lt;/em&gt; item template in Visual Studio to create a WCF web service, and then used the &lt;em&gt;Add Service Reference&lt;/em&gt; command in your Silverlight application project in order to access the web service. In SL3, the item template has undergone a small change that turns on the new &lt;strong&gt;binary message encoder&lt;/strong&gt;, which significantly improves the performance of the WCF services you build. Note that this is the same binary encoder which has been available in .Net since the release of WCF, so all WCF developers will find the object model very familiar.&lt;/p&gt;  &lt;p&gt; The best part is that this is done entirely in the service configuration file (&lt;em&gt;Web.config&lt;/em&gt;) and does not affect the way you use the service. (Check out &lt;a href="http://blogs.msdn.com/silverlightws/archive/2009/03/20/what-s-new-with-web-services-in-silverlight-3-beta.aspx"&gt;this post&lt;/a&gt; for a brief description of exactly what the change is.)&lt;/p&gt;  &lt;p&gt;I wanted to share some data that shows exactly how noticeable this performance improvement is, and perhaps convince some of you to consider migrating your apps from SL2 to SL3. &lt;/p&gt;  &lt;p&gt;When Silverlight applications use web services, XML-based messages (in the SOAP format) are being exchanged. In SL2, those messages were always encoded as plain text when being transmitted; you could open a HTTP traffic logger and you would be able to read the messages. However using plain text is far from being a compact encoding when sending across the wire, and far from being fast when decoding on the server side. When we use the binary encoder, the messages are encoded using a WCF binary encoding, which provides two main advantages: increased server throughput and decreased message size.&amp;#160; &lt;/p&gt;  &lt;h3&gt;Increased server throughput&lt;/h3&gt;  &lt;p&gt;Let’s examine the following graph (hat tip to &lt;a title="Greg Leake&amp;#39;s blog" href="http://blogs.msdn.com/gregleak/"&gt;Greg Leake&lt;/a&gt; of &lt;a title="StockTrader website" href="http://msdn.microsoft.com/stocktrader"&gt;StockTrader&lt;/a&gt; fame for collecting this data). Here is the scenario we measure: the client sends a payload, the server receives it and sends it back to the client. Many clients are used to load the service up to its peak throughput. We run the test once using the text-based encoding and once using the new binary encoding and compare the peak throughput at the sever. We do this for 2 message sizes: in the smaller size the payload an array with 20 objects, and in the bigger one the payload is an array with 100 objects.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Some more details for the curious: &lt;/strong&gt;The service is configured to ensure no throttling is happening, and a new instance of the service is created for every client call (known as PerCall instancing). There are ten physical clients driving load, each running many threads hitting service in tight loop (but with small 0.1 second think time between requests) using a shared channel to reduce client load. The graph measures peak throughput on the service at 100% CPU saturation. Note that in this test we did not use Silverlight clients but regular .Net clients. Since we are measuring &lt;em&gt;server throughput&lt;/em&gt; it is not significant what the clients are. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.msdn.com/photos/silverlightws/images/9703322/original.aspx" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;When sending the smaller message we see a &lt;strong&gt;24% increase in server throughput&lt;/strong&gt;, and with the larger message size we see a &lt;strong&gt;71% increase in server throughput&lt;/strong&gt;. As the message complexity continues to grow, we should see even more significant gains from using the binary encoder.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What does that mean to you?&lt;/strong&gt; If you run a service that is being used by Silverlight clients and you exchange non-trivial messages, you can support significantly more clients if the clients use SL3’s binary encoding. As usage of your service increases, that could mean being able to save on buying and deploying extra servers.&lt;/p&gt;  &lt;h3&gt;Decreased message size&lt;/h3&gt;  &lt;p&gt;Another feature of the binary encoder is that since messages sent on the wire are no longer plain-text, you will see a reduction in their average size. Let’s clarify this point: the main reason you would use the binary encoding is to increase the service throughput, as discussed in the previous section. The decrease in message size is a nice side-effect, but let’s face it: you can accomplish the same effect by turning on compression on the HTTP level.&lt;/p&gt;  &lt;p&gt;This test was far less comprehensive than the previous one and we did it ad-hoc on my co-worker’s office machine. We took various objects inside a Silverlight control, and turned them into the same kind of SOAP messages that get sent to the service. We did this using the plain-text encoding and using binary encoding and then we compared the size of the messages in bytes. Here are our results:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.msdn.com/photos/silverlightws/images/9703323/original.aspx" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The takeaway here is that the reduction of message size depends on the nature of the payload: sending large instances of system types (for example a long String) will result in a modest reduction, but &lt;strong&gt;the largest gains occur when complex object graphs are being encoded &lt;/strong&gt;(for example objects with many members, or arrays).&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What does this mean to you?&lt;/strong&gt; If you run a web service and you pay your ISP for the traffic your service generates, using binary encoding will reduce the size of messages on the wire, and hopefully lower your bandwidth bills as traffic to your service increases.&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;We are confident that binary encoding is the right choice for most &lt;strong&gt;backend WCF service&lt;/strong&gt; scenarios: you should never see a regression over text encoding when it comes to server throughput or message size; hopefully you will see performance gains in most cases. This is why the binary encoder is the new default in the &lt;em&gt;Silverlight-enabled WCF Service&lt;/em&gt; item template in Visual Studio.&lt;/p&gt;  &lt;p&gt;An important note: binary encoding is only supported by WCF services and clients, and so it is not the right choice if you aren’t using WCF end-to-end. If your service needs to be accessed by non-WCF clients, using binary encoding may not be possible. The binary AMF encoding used by Adobe Flex is similarly restricted to services that support it.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9707403" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlightws/archive/tags/wcf/default.aspx">wcf</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/soap/default.aspx">soap</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/binary/default.aspx">binary</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/performance/default.aspx">performance</category></item><item><title>Check us out at TechEd North America 2009</title><link>http://blogs.msdn.com/silverlightws/archive/2009/04/20/check-us-out-at-teched-north-america-2009.aspx</link><pubDate>Mon, 20 Apr 2009 10:32:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9556345</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9556345.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9556345</wfw:commentRss><description>&lt;p&gt;I hope you enjoy the content we post on this blog. I’ll be giving a talk at the upcoming TechEd conference in LA, going through some Silverlight 3 content similar to what we have been posting here. If you’re attending TechEd, check out:&lt;/p&gt;  &lt;blockquote&gt;   &lt;h4&gt;SOA03-INT Interacting with Web Services Using Microsoft Silverlight&lt;/h4&gt;    &lt;p&gt;Yavor Georgiev      &lt;br /&gt;Tue 5/12 | 4:30 PM-5:45 PM | Blue Theater 2       &lt;br /&gt;300 - Advanced, Middle Tier Platform and Tools, SOA and Business Processes, TLC Interactive Theater&lt;/p&gt;    &lt;p&gt;Learn how easy it is to utilize POX, REST, RSS, ATOM, JSON, and SOAP services in your Silverlight 2 mash-up application. Hear best practices for developing and consuming secure services within and across domain boundaries. Experience new features in the upcoming Silverlight 3 release including optimized binary communication format, improved support for server- to-client &amp;quot;push&amp;quot; scenarios and new security features.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you have not registered, you still have the opportunity to do so:&lt;/p&gt;  &lt;p&gt;&lt;a title="Register for TechEd 09" href="http://www.msteched.com/teched/registration-info.aspx"&gt;&lt;img border="0" src="http://www.msteched.com/teched/img/badges/speaker/TENA_blgr2_seeme.gif" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you do attend, make sure you let me know you’re a reader of our blog… I’d love to hear any feedback you have.&lt;/p&gt;  &lt;p&gt;Cheers,    &lt;br /&gt;-Yavor&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9556345" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlightws/archive/tags/presentations/default.aspx">presentations</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/teched/default.aspx">teched</category></item><item><title>Using WCF services from Silverlight in Azure</title><link>http://blogs.msdn.com/silverlightws/archive/2009/04/08/using-wcf-services-from-silverlight-in-azure.aspx</link><pubDate>Thu, 09 Apr 2009 02:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9539140</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9539140.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9539140</wfw:commentRss><description>&lt;P&gt;With all the buzz around &lt;A title="Windows Azure" href="http://www.microsoft.com/azure/windowsazure.mspx" mce_href="http://www.microsoft.com/azure/windowsazure.mspx"&gt;Windows Azure&lt;/A&gt;, you may have wondered how to host your Silverlight application in the cloud. Since Silverlight controls are essentially static content, hosting them is as easy as uploading some files to the cloud.&lt;/P&gt;
&lt;P&gt;When it comes to building WCF services to provide data to your Silverlight control, the story gets a little more complicated. The fact that the Azure cloud is a load-balanced environment as well as the deployment mechanism for setting up a service in Azure pose some unique challenges to hosting WCF services.&lt;/P&gt;
&lt;P&gt;To help with this, our team has posted &lt;A title="WCF Azure Code Gallery Site" href="http://code.msdn.com/wcfazure" mce_href="http://code.msdn.com/wcfazure"&gt;&lt;STRONG&gt;a Code Gallery site with 3 Silverlight-specific samples&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; &lt;/STRONG&gt;that you can run in the cloud and also on your local machine. The samples exercise the following features:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Sample #2: &lt;A title="Service using binary HTTP binding and Silverlight client" href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=SilverlightCalculator&amp;amp;referringTitle=Home" mce_href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=SilverlightCalculator&amp;amp;referringTitle=Home"&gt;binary encoding&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Sample #4: &lt;A title="Service using binary HTTP binding with transport security and message credentials and Silverlight client" href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=SecureCalculator&amp;amp;referringTitle=Home" mce_href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=SecureCalculator&amp;amp;referringTitle=Home"&gt;message credentials authentication over HTTPS&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Sample #5: &lt;A title="Chat service which can push data to Silverlight clients" href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=SilverlightChat&amp;amp;referringTitle=Home" mce_href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=SilverlightChat&amp;amp;referringTitle=Home"&gt;duplex (server “push”)&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;The third example hosts our &lt;A title="Silverlight Duplex Chat" href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=silverlightws&amp;amp;DownloadId=5150" mce_href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=silverlightws&amp;amp;DownloadId=5150"&gt;chat sample&lt;/A&gt; in Azure for a &lt;STRONG&gt;massively-distributed free-for-all chat experience&lt;/STRONG&gt;, and you can &lt;A title="Silverlight Duplex Chat Demo" href="http://wcfazure.cloudapp.net/SilverlightChat/SilverlightClientTestPage.html" mce_href="http://wcfazure.cloudapp.net/SilverlightChat/SilverlightClientTestPage.html"&gt;try it here&lt;/A&gt;. Try opening up this link across multiple machines and browsers and watch them all chat together. 
&lt;P&gt;Which brings me to probably the most useful thing we published: a &lt;STRONG&gt;list of known issues with hosting WCF services and Silverlight clients&lt;/STRONG&gt; in Azure. Check out &lt;A title="WCF Azure Known Issues" href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=KnownIssues&amp;amp;referringTitle=Home" mce_href="http://code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=KnownIssues&amp;amp;referringTitle=Home"&gt;this page&lt;/A&gt;, and especially the sections “Hosting WCF Services” and “Hosting Silverlight Clients”. The page contains some workarounds we gathered from across the web, and is guaranteed to save you a bunch of head-scratching if you try WCF on Azure for yourself.&lt;/P&gt;
&lt;P&gt;Cheers, &lt;BR&gt;-Yavor&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9539140" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlightws/archive/tags/wcf/default.aspx">wcf</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/silverlight/default.aspx">silverlight</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/samples/default.aspx">samples</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/duplex/default.aspx">duplex</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/binary/default.aspx">binary</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/azure/default.aspx">azure</category></item><item><title>Some known issues in SL3 Beta</title><link>http://blogs.msdn.com/silverlightws/archive/2009/04/05/some-known-issues-in-sl3-beta.aspx</link><pubDate>Mon, 06 Apr 2009 08:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9534200</guid><dc:creator>SLWSTeam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/silverlightws/comments/9534200.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlightws/commentrss.aspx?PostID=9534200</wfw:commentRss><description>&lt;P&gt;We've run across some issues with our web services features in the Silverlight 3 Beta and I want to share these here to hopefully save folks some time and frustration.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Issue:&lt;/STRONG&gt; On Windows 7 Beta, you might encounter the following error when generating a proxy: "The element 'httpTransport' cannot contain child element 'extendedProtectionPolicy' because the parent element's content model is empty".&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Workaround:&lt;/STRONG&gt; On Windows 7, when you use the &lt;STRONG&gt;Silverlight-enabled WCF Service&lt;/STRONG&gt; item template, an &amp;lt;extendedProtectionPolicy /&amp;gt; element may be generated in Web.config. This element is not supported by Silverlight. Simply remove the element from Web.config and try regenerating the Silverlight proxy.&lt;/P&gt;
&lt;HR&gt;

&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Issue: &lt;/STRONG&gt;If you use the &lt;STRONG&gt;Silverlight-enabled WCF Service&lt;/STRONG&gt; template and you try generating a Silverlight proxy using &lt;STRONG&gt;Add Service Reference&lt;/STRONG&gt; on a machine with &lt;U&gt;both&lt;/U&gt; Silverlight 2 and Silverlight 3 Beta SDKs, you may get warnings at proxy generation time and errors at runtime. The warnings can include a variety of "Cusom tool" warnings which state that the endpoints found are "not compatible with Silverlight 2" or "No endpoints compatible with Silverlight 2 were found."&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Workaround:&lt;/STRONG&gt; If you are using &lt;STRONG&gt;Add Service Reference &lt;/STRONG&gt;to generate proxies, side-by-side installation of the Silverlight 2 and Silverlight 3 Beta SDKs is not supported. Please uninstall the Silverlight 2 SDK to use Silverlight 3 features. After uninstalling, ensure that the assembly Microsoft.Silverlight.ServiceReference is &lt;U&gt;not&lt;/U&gt; present in the machine GAC. &lt;/P&gt;
&lt;HR&gt;

&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Issue:&lt;/STRONG&gt; When using &lt;STRONG&gt;Add Service Reference&lt;/STRONG&gt; to generate a proxy to a WCF duplex service (a service built with the System.ServiceModel.PollingDuplex.dll assembly provided in the Silverlight SDK), the generated proxy may not compile and may complain about a missing assembly reference.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Workaround: &lt;/STRONG&gt;The proxy for the duplex service is generated correctly, however &lt;STRONG&gt;Add Service Reference &lt;/STRONG&gt;will sometimes forget to reference th &lt;STRONG&gt;System.ServiceModel.PollingDuplex.dll &lt;/STRONG&gt;assembly in the Silverlight client. Simply add a reference to the assembly (right-click in the Silverlight project, select &lt;STRONG&gt;Add Reference&lt;/STRONG&gt;, find the assembly in the list on the &lt;STRONG&gt;.Net&lt;/STRONG&gt; tab), and the proxy should now compile.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Hope this is helpful!&lt;BR&gt;-Yavor Georgiev&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9534200" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlightws/archive/tags/debugging/default.aspx">debugging</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/duplex/default.aspx">duplex</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/tools/default.aspx">tools</category><category domain="http://blogs.msdn.com/silverlightws/archive/tags/bugs/default.aspx">bugs</category></item></channel></rss>