Hello,
I was programming a WCF service only for clients running inside a LAN, i tried out both the netTcpBinding and wsHttpBinding endpoints.
I would like to get experts opinion on which one is better for my case. My clients are standalone applications(windows desktop clients) running in a Windows 2003 LAN environment.
Also incase in the future some webclients client wants to talk to our service, can a netTcpBinding expose the wsdl interfaces . I tried the following and got some errors.
net.tcp://localhost:8000/Myservice/service1 wsdl.
is this possible or, wsdl can be exposed only for http based bindings .
Thanks,

netTcpBinding wsHttpBinding which is better for a LAN environment?.
phowatt
The decision between netTcpBinding and wsHttpBinding really depends entirely on your requirements for security, reliability, sessions, performance, and message exchange patterns.
Take a quick look over the resources that were provided and let us know if we can clarify or help in any way.
skylimit
Thanks for all pointers and links. So after reading those i understand that exposing the tcpbinding through wsdl query string is not possible, just like the following.
net.tcp://localhost:8000/Myservice/service1 wsdl ( i just wanted to confirm this).
But tcpbinding can generate metadata using the IMetadataExchange contract, meaning svcutil can generate the client proxy file and config files.
Thanks,
Shyam
EmmaColene
Here are the documents that could help you on making the decision on which binding to use.
http://msdn2.microsoft.com/en-us/library/ms730879.aspx
http://msdn2.microsoft.com/en-us/library/ms731172.aspx
Metadata can be published through netTcpBinding. Following is the doc on how to publish metadata:
http://msdn2.microsoft.com/en-us/library/aa751951.aspx
dmyers
Hi,
Which type of binding to use is really depeneded on what your needs are. The following is a list of system provided bindings and the features it has.
http://msdn2.microsoft.com/en-us/library/ms730879.aspx
As for exposing wsdl intrfaces, have you tried adding a net tcp mex end point An example would be like the following:
<endpoint address="net.tcp://localhost:9000/servicemodelsamples/service/mex" binding="mexTcpBinding" contract="IMetadataExchange" />
Then try to use svcutil to grab the metadata off the address you specified. Also, from your question I believe you are trying to view the wsdl information in your browser by navigating to the net tcp address you indicated. It makes sense that you are not getting anything because the browser probably doesn't support net.tcp (most browsers support http and https).
Hope this helps,
Daniel