Wednesday, March 14, 2012

WCF is Case sensitive


All my communications now a days are fully founded. Its a communication foundation, especially or more specific its Windows Communication Foundation. Everywhere now it clearly visible for the passion for services beyond channel limits. Its a passion of unbound of either HTTP or Networked.

So whats new in this. Yes it is... We were in a task. Scheduled or taken whatever, finally it got assigned to us. Job was very simple convert a running HTTP WCF library to NetTcp. I have my great passionate technologist and code innovator colleague with me. I just came here with my high expectation and confidence of last HTTP Bound service implementation in previous project. But he is now a master, really the last word of the TCP bound service running in our project.

Everything was ready in my machine. A HTTP bound WCF service running. I tested the service with adding it to the a console application. That works great! Now the task is the conversion to “net.tcp”.
Very simple as we thought. Changed the app.Config “Binding”


<endpoint address ="" binding="NetTcpBinding" contract="WcfServiceLibrary1.IService1">


Nothing works it continued to throw the same error message 


system.serviceModel/bindings/NetTcpBinding' could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.”


Even when we tried to switch back to the old “WSHttpBinding”. That also now stopped to work. Jumpled!. As like my friend's T-shirt caption, we are now really “Screwed”! Whats next? he asked me. Go to the simple . We added another new WCF project to the same solution just ran to check the “Hello world” method running. It was calm and smooth.

Then where we are wrong?

Simple, we compared the App.Configs side by side. Makes sense! Straight forward ! Its not your Web.config as we always do. Its WCF syntax which is very sensitive in each case of its implementation. Or its pure CASE SENSITIVE. Our “NetTcpBinding will not work. You have to start it with a small “n” always. Yes thats the answer.


<endpoint address ="" binding="netTcpBinding" contract="WcfServiceLibrary1.IService1">


My friend was jumping! “I knew it! I had seen it”... Yeah I know, he really knows it....  




No comments: