What’s new in WCF 4.5? Configuration validations

September 25, 2011

This is the fourth post in the WCF 4.5 series, and a direct addition to the previous post, since I neglected to mention something important about editing configuration files in WCF 4.5 and Visual Studio 11 – validations during editing and compilation.

Previous posts:

1. What’s new in WCF 4.5? let’s start with WCF configuration

2. What’s new in WCF 4.5? a single WSDL file

3. What’s new in WCF 4.5? Configuration tooltips and intellisense in config files

In my last post I mentioned the problems we face when manually configuring services in the configuration file (app.config / web.config), mainly when dealing with service names.

In WCF 3.5 there was less problem using wrong service names, since there had to be at least one endpoint for each service, and if you have used the wrong service name in the configuration – you would have gotten an exception.

But with WCF 4 the rules have changed because of default endpoints – you haven’t configured any service endpoint? no worries, the service host will create some for you, according to your base address. This causes many people to not notice they have used the wrong service name, and thus get endpoints that often aren’t the ones they wanted, for example getting a default basicHttp endpoint instead of a netTcp endpoint that was declared in the configuration.

In comes WCF 4.5, or to be more exact Visual Studio 11, with it’s configuration intellisense, and as we’ve seen in the previous post, the intellisense gives us the option to select which service class to configure. Another good thing that comes out of it is warnings – if you use the wrong service name in the <service> element you will get a compilation warning, as shown in the following screenshot:


The validations also apply to other parts of the configuration, such as contract names, binding names, and binding / behavior configuration names, as can be seen in the following screenshot (I added the highlights).


Although useful, the last type of validations is less crucial, since usually if you got the name of the service correctly, and misspelled one of the other names, that would cause an exception while opening the service host, so at least you’ll know about it, unlike using the wrong service name.

So to conclude – Intellisense, cool! Tooltips, cool! Validations, also cool! WCF 4.5 – very cool!

Stay tuned for more posts about the new features of WCF 4.5. You can also follow me on Twitter (@IdoFlatow) to get updates as soon as new posts are published.

The RTM of .NET 4.5 is still to come, and I assume many of you are still adjusting to WCF 4. If you want to learn more about the new features of WCF 4, come to my session at Visual Studio Live! 2011 in Redmond (October 17-21).

Also, if you are an MCT and reside in the US, come hear my session about WCF 4 at the MCT 2011 North-America Summit that will be held in San-Francisco (October 19-21).

Add comment
facebook linkedin twitter email

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>