0

我正在尝试以编程方式设置 WCF 连接的端点。

我一直没能,下面是我正在使用的代码有人帮助识别出了什么问题?

        Uri wsBaseAddress = new Uri("http://localhost:27198/");

        ServiceHost host = new ServiceHost(typeof(ServiceClient), wsBaseAddress);

        WSHttpBinding wshttpbinding = new WSHttpBinding();

        host.AddServiceEndpoint(typeof(IService), wshttpbinding, "ServiceClient");
        host.AddServiceEndpoint(typeof(IService), wshttpbinding,
           "http://localhost:27198/Service.svc");

        host.Open();

编辑:

错误:HTTP 无法注册 URL“http://+:27198/”,因为 TCP 端口 27198 正在被另一个应用程序使用。”

谢谢

4

2 回答 2

1

HTTP 无法注册 URL“http://+:27198/”,因为另一个应用程序正在使用 TCP 端口 27198。”

这几乎说明了一切。当前有另一个应用程序正在侦听该端口,并且由于在给定时刻只有一个应用程序可以绑定到给定端口和 IP,因此您的程序不能。

执行netstat -abn进去cmd看看哪个程序最有可能是 ASP.NET Development Server。

如果没有其他程序绑定到该端口,您可以尝试以管理员身份运行 Visual Studio。

于 2012-06-15T13:41:37.290 回答
0

您下面的语句没有提供服务名称,尽管它没有在最后一条语句中使用添加端点

 Uri wsBaseAddress = new Uri("http://localhost:27198/");

它应该是

 Uri wsBaseAddress = new Uri("http://localhost:27198/Service");

您必须提供服务名称而不是带有扩展名的服务文件名

改变

host.AddServiceEndpoint(typeof(IService), wshttpbinding,
           "http://localhost:27198/Service.svc");

 host.AddServiceEndpoint(typeof(IService), wshttpbinding,
           "http://localhost:27198/Service");
于 2012-06-15T13:42:05.353 回答