案例下载
http://download.csdn.net/detail/woxpp/4113172
服务端配置代码
<system.serviceModel>
<services>
<service name="WcfServiceLibrary.ServiceTcp">
<endpoint address="net.tcp://localhost:8731/WcfServiceLibrary"
binding="netTcpBinding" bindingConfiguration="testnetTcpBinding"
contract="WcfServiceLibrary.IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8732/WcfServiceLibrary" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- 为避免泄漏元数据信息,
请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<serviceMetadata httpGetEnabled="True"/>
<!-- 要接收故障异常详细信息以进行调试,
请将以下值设置为 true。在部署前设置为 false
以避免泄漏异常信息-->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<netTcpBinding>
<binding name="testnetTcpBinding">
<security mode="Message">
<transport clientCredentialType="None" protectionLevel="None"></transport>
<message clientCredentialType="Windows"/>
</security>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
客户端调用代码 通过代理类
http://www.cnblogs.com/woxpp/p/6232298.html
客户端代码
//获取域名 String hostName = Dns.GetHostName(); IPHostEntry ipH = new IPHostEntry(); ipH = Dns.Resolve(hostName); NetTcpBinding netTcp = new NetTcpBinding(); netTcp.Security.Mode = SecurityMode.Message; netTcp.Security.Transport.ProtectionLevel = ProtectionLevel.None; netTcp.Security.Transport.ClientCredentialType = TcpClientCredentialType.None; netTcp.Security.Message.ClientCredentialType = MessageCredentialType.Windows; ChannelFactory<IService1> factory = new ChannelFactory<IService1>(netTcp); factory.Credentials.Windows.ClientCredential.UserName = "panpan.xu"; factory.Credentials.Windows.ClientCredential.Password = "123.xpp"; factory.Credentials.Windows.ClientCredential.Domain = "panpanxu-PC"; IService1 proxy = factory.CreateChannel(new EndpointAddress("net.tcp://localhost:8731/WcfServiceLibrary")); txtMessage.Text = proxy.GetDataUsingDataContract(new WcfServiceLibrary.CompositeType() { StringValue = "sssss" }).StringValue;
原文:http://www.cnblogs.com/woxpp/p/6232319.html