<?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>Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx</link><description>Introduction In .NET 3.0 SP1, which will be shipped together with .NET 3.5, there is significant performance improvement in WCF client proxy creation. For BasicHttpBinding, the performance is close to that of ASMX proxy creation. ASMX Proxy vs WCF Proxy</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>[WCF] Miglioramenti nelle performance in .NET 3.5</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5747455</link><pubDate>Mon, 29 Oct 2007 00:42:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5747455</guid><dc:creator>BlogServiceHost.Create()</dc:creator><description>&lt;p&gt;Interessantissimo postdi Wenlong Dong, membro del team WCF Performance, che descrive i miglioramenti&lt;/p&gt;
</description></item><item><title>.Net 3.0 SP1 e WCF performance improvement</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5758960</link><pubDate>Mon, 29 Oct 2007 12:56:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5758960</guid><dc:creator>Stefano Paluello's Blog</dc:creator><description>&lt;p&gt;.Net 3.0 SP1 e WCF performance improvement&lt;/p&gt;
</description></item><item><title>Beyond the Obvious: New Features and Fixes for WCF in .NET 3.5</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5765859</link><pubDate>Mon, 29 Oct 2007 17:49:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5765859</guid><dc:creator>Christian Weyer: Smells like service spirit</dc:creator><description>&lt;p&gt;With .NET 3.5 and Visual Studio 2008 being quite close to RTM these days, I thought it would be time...&lt;/p&gt;
</description></item><item><title>re: Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5778882</link><pubDate>Tue, 30 Oct 2007 13:28:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5778882</guid><dc:creator>omario</dc:creator><description>&lt;p&gt;&amp;quot;You need to handle exceptions and retries for the pool.&amp;quot;&lt;/p&gt;
&lt;p&gt;In what conditions proxy should not be returned to the pool? Is it enough for proxy to be in Faulted state?&lt;/p&gt;
</description></item><item><title>Better Proxy Clients</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5780722</link><pubDate>Tue, 30 Oct 2007 16:44:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5780722</guid><dc:creator>Noticias externas</dc:creator><description>&lt;p&gt;I was in a meeting last week with a few WCF users at Microsoft when they asked about performance issues&lt;/p&gt;
</description></item><item><title>WCF performance</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5784481</link><pubDate>Tue, 30 Oct 2007 21:36:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5784481</guid><dc:creator>Miguel Campos Blog</dc:creator><description>&lt;p&gt;Found this article on improving WCF proxy performance and considerations, &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.asp"&gt;http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.asp&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5965778</link><pubDate>Wed, 07 Nov 2007 21:06:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5965778</guid><dc:creator>RobertTostevin</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;In .NET3 we are using a WCF service to talk to a WF. The WCF service is being called by an ASP page request. In order to optimize performance we are using a singleton proxy class which is shared by all page requests on the same server. The GUID is obviously part of the params passed to the WCF service which then routes the Event to the right WF. In .NET 3.5 if we were to switch to using the new WorkflowServiceHost &amp;amp; the new Receive Activity the GUID is part of the contextchannel &amp;amp; therefore part of the message being sent by the proxy class. My understanding is that reuse of the proxy via our singleton will fail as each Page would need to block the other pages requests whilst it makes its call (as it would need to change the GUID in the context)ie we lose our scalability. &lt;/p&gt;
&lt;p&gt;... Is that Correct ?&lt;/p&gt;
&lt;p&gt;If so how can this be made more scalable so that each page request doesn't have to go through the expense of creating a brand new proxy each time ?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Rob.&lt;/p&gt;
</description></item><item><title>re: Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#5974223</link><pubDate>Thu, 08 Nov 2007 05:05:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5974223</guid><dc:creator>wdong</dc:creator><description>&lt;p&gt;Hi Rob, that's a good question. I have just posted another blog entry for this: &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/wenlong/archive/2007/11/08/how-to-use-a-singleton-wcf-proxy-to-call-different-workflow-service-instances-in-net-3-5.aspx"&gt;http://blogs.msdn.com/wenlong/archive/2007/11/08/how-to-use-a-singleton-wcf-proxy-to-call-different-workflow-service-instances-in-net-3-5.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please let me know if this answers your question above. Thanks!&lt;/p&gt;
</description></item><item><title>A Sample for WCF Client Proxy Pooling</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#6198940</link><pubDate>Wed, 14 Nov 2007 09:45:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6198940</guid><dc:creator>Wenlong Dong's Blog</dc:creator><description>&lt;p&gt;Introduction Ideally we should not need to pool WCF client proxies as I mentioned in my previous blog&lt;/p&gt;
</description></item><item><title>A Sample for WCF Client Proxy Pooling</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#6199760</link><pubDate>Wed, 14 Nov 2007 10:18:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6199760</guid><dc:creator>Noticias externas</dc:creator><description>&lt;p&gt;Introduction Ideally we should not need to pool WCF client proxies as I mentioned in my previous blog&lt;/p&gt;
</description></item><item><title>re: Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#6885893</link><pubDate>Fri, 28 Dec 2007 18:17:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6885893</guid><dc:creator>MCGP Peters</dc:creator><description>&lt;p&gt;&amp;quot;If you have such a scenario, please do let me know.&amp;quot;&lt;/p&gt;
&lt;p&gt;A scenario would be an intermediate, where a WCF service is used to forward calls to other service end-points. You would like to keep a pool of channels to the previous called end-points...&lt;/p&gt;
</description></item><item><title>WCF without Svcutil tool</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#8374818</link><pubDate>Thu, 10 Apr 2008 16:25:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8374818</guid><dc:creator>Diego Baroffio's Blog</dc:creator><description>&lt;p&gt;Introduction This week it was asked to me to find some elegant and practical way to use WCF. After some&lt;/p&gt;
</description></item><item><title>Avoid using “using()”</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#8960497</link><pubDate>Sun, 21 Sep 2008 14:14:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8960497</guid><dc:creator>ÎÜñ|‹ø\/\/ñ [ÐëÞrëçã†ëð]'s Blog</dc:creator><description>&lt;p&gt;The using statement in C#, seems to be quite useful especially to a developer as theoretically, you not&lt;/p&gt;
</description></item><item><title>Don't access public properties?</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#9002904</link><pubDate>Fri, 17 Oct 2008 14:55:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002904</guid><dc:creator>marc_opus</dc:creator><description>&lt;p&gt;Hi Wenlong,&lt;/p&gt;
&lt;p&gt;what exaclty do you mean with&lt;/p&gt;
&lt;p&gt;&amp;quot;Don’t access the public properties ChannelFactory, Endpoint, and ClientCredentials of the proxy&amp;quot;&lt;/p&gt;
&lt;p&gt;in the listing what to be aware to not implicitly disable the caching? Is this valid for set only or also for get? I'm asking because we have an application that writes some addressing stuff to the trace, and is accessing the above mentioned properties. If this prevents the caching, we could get over the missing trace as tradeoff against better performance.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Marc&lt;/p&gt;
</description></item><item><title>Proxy Caching Changes</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#9002980</link><pubDate>Fri, 17 Oct 2008 16:13:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002980</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><description>&lt;p&gt;I don't think I ever wrote about the changes made to WCF generated typed proxies in Orcas, although Wenlong&lt;/p&gt;
</description></item><item><title>WCSF Application Architecture 7: Remote Logic with WCF Services</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#9129751</link><pubDate>Thu, 20 Nov 2008 20:21:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9129751</guid><dc:creator>Simon Ince's Blog</dc:creator><description>&lt;p&gt;This article is part of a series; &amp;#183; WCSF Application Architecture 1: Introduction &amp;#183; WCSF Application&lt;/p&gt;
</description></item><item><title>Caching Bug</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#9807399</link><pubDate>Sun, 28 Jun 2009 16:18:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9807399</guid><dc:creator>tmanthey</dc:creator><description>&lt;p&gt;Unfortunately the caching of the ChannelFactory has become a reference example why caching is dangerous. Still 3.5 SP1 contains a subtle yet nasty bug. It surfaces once you try to call the ClientBase&amp;lt;T&amp;gt;.Open() method. This can be preferable if you try to reduce the (tremendous) time a first call to a service consumes. The call is forwarded to the ChannelFactory which in case it was cached can be already in &amp;quot;Opened&amp;quot; state, while the ClientBase object is still in &amp;quot;Created&amp;quot; state. I see it once in a while, but have not yet been able to reproduce it in a reliable manner.&lt;/p&gt;
&lt;p&gt;In this case you see the exception: &lt;/p&gt;
&lt;p&gt;The communication object, System.ServiceModel.ChannelFactory`1[IMyService], cannot be modified while it is in the Opened state.&lt;/p&gt;
&lt;p&gt;To work around check the state of the ClientBase&amp;lt;T&amp;gt;.ChannelFactory to be &amp;quot;Created&amp;quot; property before calling ClientBase&amp;lt;T&amp;gt;.Open()&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=456192"&gt;http://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=456192&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices</title><link>http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx#9927008</link><pubDate>Sun, 22 Nov 2009 22:02:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927008</guid><dc:creator>UrmilShah</dc:creator><description>&lt;p&gt;I am not sure why caching proxy / channel will give better output. Shouldn't it create bottleneck in high traffic website?&lt;/p&gt;
&lt;p&gt;Webservices / WCF over IIS are kind of websites only.&lt;/p&gt;
&lt;p&gt;For example If I am accesing 10 request using one browser vs requesting 10 request in 10 different browser (multithreaded way).&lt;/p&gt;
&lt;p&gt;How Cahing of proxy / channel will react for Async calls? Appreciate any help here.&lt;/p&gt;
</description></item></channel></rss>