WCF Best Practices

In our conversations with customers and partners, questions related to the design and development best practices are quite common and WCF is not an exception. Some of these questions are very specific to a customer scenario but most of them are generic questions around contract versioning, security, load balancing, etc. There are a number of resources on MSDN and CodePlex that cover these general topis and since I usually send these links to developers in the follow up emails, I think it is a good idea if I put these links in this blog post.

We highly recommend WCF developers to read these best practices in the early stages of the development because some of these practices need to be adopted from the very first version of your application. For example, in order to create Forward-Compatible Data Contracts you need to implement IExtensibleDataObject starting from the first version of the data contract.

So here we go... I will try to keep this list updated as I find other resources and write my own posts on this topic.

Contracts
Data Contract versioning
Service versioning

Clients
Avoiding problems with the "using" statement

Services and Hosting
IIS Hosting
Load balancing
Controlling resource consumption and improving performance

MSMQ bindings
Poison message handling in MSMQ 3.0 (Applicable to Windows XP and Windows Server 2003)
Poison message handling in MSMQ 4.0 (Applicable to Windows Vista and Windows Server 2008)

Security
WCF Security Guidance
Partial trust
Securing PeerChannel applications
Security concerns and useful tips for tracing

Communication
Reliabale Sessions

Deployment
Deploying WCF applications with ClickOnce

Published Saturday, May 31, 2008 1:15 PM by Mehran Nikoo
Filed under:

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required)