DCSIMG
What’s new in WCF 4.5? Configuration validations - Ido Flatow's Blog Veni Vidi Scripsi

Ido Flatow's Blog

Veni Vidi Scripsi

News

Have you heard me speak?
Powered
<style type='text/css' media='screen' id='sm_css'> #smix {overflow: visible;height: auto;border-radius: 10px;max-width: 250px;background-color: #323232;text-align: left;font-size: 12px;line-height: 16px;font-family:'Lucida Sans Unicode','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;} #smix a {color: #0056CC;text-decoration: none;} #smix .sm_head {color: #fff; line-height: 1em;font-size: 1.4em;padding: 10px;color: #fff;} #smix .sm_lanyard_wrapper {background-color: #fff;;clear: both;width: 97%;margin: 0 auto;margin-bottom: 0px;} #smix .sm_lanyard_content {padding: 7px;}#smix button.sm_rec, #smix a.sm_rec, #smix input[type=submit].sm_rec { padding: 6px 10px; -webkit-border-radius: 2px 2px;-moz-border-radius: 2px; border-radius: 2px; border: solid 1px rgb(153, 153, 153); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(255, 255, 255)), to(rgb(221, 221, 221))); color: #333; text-decoration: none; cursor: pointer; display: inline-block; text-align: center; text-shadow: 0px 1px 1px rgba(255,255,255,1); line-height: 1; }#smix .sm_rec:hover { background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(248, 248, 248)), to(rgb(221, 221, 221))); }#smix .sm_rec:active { background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(204, 204, 204)), to(rgb(221, 221, 221))); }#smix .sm_rec.medium { padding: 3px 7px; font-size: 13px; }#smix .sm_rec span.icon.thumbs_up {background-position: 0px 36px;vertical-align: text-top;display: inline-block;margin-right: 4px;height: 18px;width: 16px;background-image: url(http://speakermix.com/images/new/thumbsold.png);}#smix .sm_rec:hover span.icon.thumbs_up {background-position: 0px 18px;} #smix .sm_events {padding:2px 0px 4px 0px;} #smix .sm_section {font-size: 10px; border-bottom: 1px solid silver; margin-bottom: 6px;} #smix .sm_subline {font-size:120%;margin-top:4px;font-weight:bold} #smix .powered {text-align: right} #smix .powered img {margin: 7px} </style>
Sela Technology Center

Advertisement

What’s new in WCF 4.5? Configuration validations

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:

image

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).

image

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).

Comments

Ido Flatow's Blog

Veni Vidi Scripsi

said:

As promised in my previous post , I’m continuing my mission to inform you of new changes in WCF 4.5.

# January 17, 2012 10:37 PM

Ido Flatow's Blog

Veni Vidi Scripsi

said:

As promised in my previous post , I’m continuing my mission to inform you of new changes in WCF 4.5.

# January 17, 2012 10:37 PM

Ido Flatow's Blog

Veni Vidi Scripsi

said:

This is the eighth post in the WCF 4.5 series. This post continues the previous posts on web-hosting

# February 1, 2012 9:25 PM

[??????????????] 1. ?????? ???????????? ?? WCF 4.5? ???????????? ?? ???????????????????????? WCF [3] « ahriman' lair said:

Pingback from  [??????????????] 1. ?????? ???????????? ?? WCF 4.5? ???????????? ?? ???????????????????????? WCF [3] &laquo; ahriman&#039; lair

# February 7, 2012 2:30 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: