我正在尝试以编程方式设置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。“
谢谢
答案 0 :(得分:1)
HTTP无法注册URL“http:// +:27198 /”,因为另一个应用程序正在使用TCP端口27198。“
这几乎说明了一切。还有另一个应用程序正在侦听该端口,并且由于在给定时刻只有一个应用程序可以绑定到给定端口和IP,因此您的程序不能。
在netstat -abn
中执行cmd
以查看最可能是ASP.NET Development Server的程序。
如果没有其他程序绑定到该端口,您可以尝试以管理员身份运行Visual Studio。
答案 1 :(得分: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");