1. Place service code in a class library and not in any hosting EXE.
2. Do not provide parameterized constructors to a service class unless it is a singleton that is hosted explicitly.
3. Enable reliability in the relevant bindings.
4. Provide a meaningful namespace for contracts. For outward-facing services, use your company's URL or equivalent URN with a year and month to support versioning;
for example:
[ServiceContract(Namespace = "http://www.idesign.net/2007/08")]
interface IMyContract
{...}
For intranet services, use any meaningful unique name, such as MyApplication;
for example:
[ServiceContract(Namespace = "MyApplication")]
interface IMyContract
{...}
5. With intranet applications on Windows XP and Windows Server 2003, prefer self-hosting to IIS hosting.
6. On Windows Vista, prefer WAS (IIS7) hosting to self-hosting.
7. Use ServiceHost<T>.
8. Enable metadata exchange.
9. Always name all endpoints in the client config file.
10. Do not use SvcUtil or Visual Studio 2005 to generate a config file.
11. Do not duplicate proxy code. If two or more clients use the same contract, factor the proxy to a separate class library.
12. Always close or dispose of the proxy.

Sandeep PathaniaPosted Nov 17, 2010, 12:09 AM
hey thanks a lot i hope i will keep writing always interested blogs
MyWebsiteNowPosted Nov 16, 2010, 7:28 AM
<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <![endif]--> WCF unifies different approaches to communication; WCF can simplify the creation of distributed applications on Windows. Because it implements SOAP, WCF provides broad interoperability with other platforms. And because it offers explicit support for a service-oriented approach, WCF gives developers a natural environment for building modern software. I really like your blog. I am glad that I found your blog. professional website