Profiling WCF/WF Applications with VS Performance Profiler

There are tons of good articles and blogs out there regarding how to use Visual Studio Team System (VSTS) performance tools (vsperfcmd.exe etc under “%ProgramFiles%\Microsoft Visual Studio 8\Team Tools\Performance Tools” if you have installed VSTS) to generate profiles for native and managed applications. Nothing is actually special for WCF applications here. The reason why I write this…


Comparison of Different WCF Encoders

Kenny wrote an excellent blog entry to compare the three WCF encoders (Binary, MTOM, and Text) from performance perspective. It is quite helpful for you to decide when to use which encoder.


A Sample for WCF Client Proxy Pooling

Introduction Ideally we should not need to pool WCF client proxies as I mentioned in my previous blog entry. From some customer feedback, however, I got to know that reusing proxies is not ideal because: ·         There may be some unknown contention cost when one proxy is used by multiple threads. ·         There is some…


How to Use a Singleton WCF Proxy to Call Different Workflow Service Instances in .NET 3.5?

In .NET 3.5, a new type WorkflowServiceHost is introduced to provide the integration of WF and WCF. On the server-side, ReceiveActivty plays the main role to implement WCF service operations. With this, you can have WCF clients to talk to WF services. Also ContextChannel is introduced to flow the context between the client and the…


Come and join the Connected Framework development team!

Do you want to work on Microsoft’s next generation of the distributed application framework? Do you enjoy the thrill of shipping a great product? Do you want to join the team that has shipped WCF + WF in .NET 3.0? Are you up to the challenge of improving and optimizing performance of the .NET Framework…


Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices

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 ASMX proxy is much simpler than WCF proxy. The former is a wrapper the type…


Best Practice: Always open WCF client proxy explicitly when it is shared

In order to provide symmetric programming model for the client-side as for the server-side, WCF leverages .NET Remoting transparent proxy technique so that the service contract interface can be used seamlessly as on the server-side. The svcutil.exe tool can generate WCF client proxy code for you. If you take a closer look at the generated…


How to redirect a Url in IIS6/IIS7 and in ASP.NET?

Sometimes you want to redirect users request to a different one when you want to retire old ones but still provide backward-compatibility. David Wang has a good summary on different redirects for IIS in his blog entry. Here I just want to add a few points which have helped people to resolve tricky problems. First…


How to use .asmx extension to handle WCF requests?

For backward compatibility, WCF supports easy server-side migration from ASMX to WCF. This is good news for existing ASMX customers. Generally, the clients of ASMX may have server Urls hard-coded with the extension “.asmx”. For example, here is a sample Url: After installing WCF on the box, you can let WCF to handle the…


How to use performance counters to diagnose performance of WCF applications

There are many ways to diagnose the performance of WCF applications. Here is a simple one that uses performance counters to get some rough ideas. There are two categories of performance counters that you can use: ·         ASP.NET counters: ·         WCF counters: ASP.NET Counters For web-hosted applications, you can use ASP.NET counters to…