第一服务客户

假设你的服务与第一服务和主机示例中定义的服务相同。

要创建客户端,请在客户端配置文件的 system.serviceModel 部分中定义客户端配置部分。

<system.serviceModel>
  <services>
    <client name="Service.Example">
      <endpoint name="netTcpExample" contract="Service.IExample" binding="netTcpBinding" address="net.tcp://localhost:9000/Example" />
    </client>
  </services>      
</system.serviceModel>

然后从服务中复制服务合同定义:

namespace Service
{
    [ServiceContract]
    interface IExample
    {
        [OperationContract]
        string Echo(string s);
    }
}

(注意:你也可以通过添加二进制引用来代替包含服务合同的程序集来使用它。)

然后,你可以使用 ChannelFactory<T> 创建实际客户端,并调用服务上的操作:

namespace Console
{
    using Service;
  
    class Console
    {
        public static void Main(string[] args)
        {
            var client = new System.ServiceModel.ChannelFactory<IExample>("Service.Example").CreateChannel();
            var s = client.Echo("Hello World");
            Console.Write(s);
            Console.Read();
        }
    }
}