提供的 URI 方案“net.tcp”无效;预期“http”

Roa*_*ast 5 c# wcf

我是 WCF 的新手。我正在尝试编辑现有代码以使用 net.tcp 绑定而不是 http 绑定。我已经在使用配置文件的测试项目中轻松完成了此操作,但由于各种原因,在实际项目中它是通过编程完成的。

我进行了必要的更改,服务主机似乎正确启动:

 Uri baseAdress= new Uri("net.tcp://localhost:7005/MyService/");
 host = new ServiceHost(typeof(MyServiceImpl), baseAdress);

 host.AddServiceEndpoint(
              typeof(MyService),
              new NetTcpBinding(),
              "");

 ServiceMetadataBehavior metadataBehavior;
 metadataBehavior = host.Description.Behaviors.Find<ServiceMetadataBehavior>();

 if (metadataBehavior == null)
 {
      metadataBehavior = new ServiceMetadataBehavior();
      host.Description.Behaviors.Add(metadataBehavior);
 }

 BindingElement bindingElement = new TcpTransportBindingElement();
 CustomBinding binding = new CustomBinding(bindingElement);
 host.AddServiceEndpoint(typeof(IMetadataExchange), binding, "mex");

 host.Open();
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。我编辑了客户端的连接字符串:

 string serverUri = string.Format("net.tcp://{0}:{1}/MyService", serverName, port);
 MyService server = new MyServiceClient("MYS", serverUri);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从我的服务调用函数时,我收到此错误:

提供的 URI 方案“net.tcp”无效;预期“http”

不太确定我错过了什么......有什么提示吗?