以编程方式创建 ServiceHost

以编程方式( 配置文件)以最基本的形式创建 ServiceHost :

namespace ConsoleHost
{
  class ConsoleHost
  {
    ServiceHost mHost;

    public Console()
    {
      mHost = new ServiceHost(typeof(Example), new Uri("net.tcp://localhost:9000/Example"));

      NetTcpBinding tcp = new NetTcpBinding();

      mHost.AddServiceEndpoint(typeof(IExample),tcp,"net.tcp://localhost:9000/Example");                      
    }

    public void Open()
    {
        mHost.Open();
    }
    
    public void Close()
    {
        mHost.Close();
    }

    public static void Main(string[] args)
    {
        ConsoleHost host = new ConsoleHost();
        
        host.Open();
        
        Console.ReadLine();
        
        host.Close();
    }
  }
}
  1. 创建一个 ServiceHost 实例,传递具体的类类型和零个或多个 baseaddress Uri。
  2. 在这种情况下构造所需的绑定 NetTcpBinding。
  3. 调用 AddServiceEndpoint 传递 A ddress, B inding 和 C ontract。 (WCF 端点的 ABC 助记符)。
  4. 打开主机。
  5. 保持主机打开,直到用户在控制台上按键。
  6. 关闭主机。