I was thinking about, How to extend service functionality without breaking existing clients (Thinking about old COM rules)

 

COM interface rules still apply to wcf contract.

 

Contract/service level:

 

(1)Adding new method to the service won’t break existing client

 

(2) Implementing new interface won’t break existing clients

 

Only requirement is, we should not change method signature for existing methods

 

Data contract level:

 

We have very good sdk sample to demonstrate, How to maintain data contract versions

 

http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/WCF_Con/html/4a0700cb-5f5f-4137-8705-3a3ecf06461f.asp

 

More info:

 

WCF SDK doc

http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/WCF_con/html/bf0ab338-4d36-4e12-8002-8ebfdeb346cb.asp

 

http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/WCF_con/html/37575ead-d820-4a67-8059-da11a2ab48e2.asp

 

I found yasser blog on Indigo versioning,This may provide more info

 

http://blogs.msdn.com/yassers/archive/2005/06/20/430950.aspx