引用服务地址为:http://127.0.0.1:8080/Hello
HelloService:类库名,Hello类名。错误如下:
下载“http://127.0.0.1:8080/Hello”时出错。
无法连接到远程服务器
由于目标计算机积极拒绝,无法连接。 127.0.0.1:8080
元数据包含无法解析的引用:“http://127.0.0.1:8080/Hello”。
没有终结点在侦听可以接受消息的 http://127.0.0.1:8080/Hello。这通常是由于不正确的地址或者 SOAP 操作导致的。如果存在此情况,请参见 InnerException 以了解详细信息。
无法连接到远程服务器
由于目标计算机积极拒绝,无法连接。 127.0.0.1:8080
如果该服务已在当前解决方案中定义,请尝试生成该解决方案,然后再次添加服务引用。
请问大家怎么解啊。。。
建议检查一下WCF服务是否已经绑定在8080端口上
using (ServiceHost sh = new ServiceHost(typeof(Hello))) { sh.AddServiceEndpoint(typeof(IHello), new WSHttpBinding(), "http://127.0.0.1:8080/Hello"); if (sh.Description.Behaviors.Find<ServiceMetadataBehavior>() == null) { ServiceMetadataBehavior behavior = new ServiceMetadataBehavior(); behavior.HttpGetEnabled = true; behavior.HttpGetUrl = new Uri("http://127.0.0.1:8080/Hello/metadata"); sh.Description.Behaviors.Add(behavior); } sh.Opened += delegate { Console.WriteLine("服务已经启动,按任意键终止服务!"); }; sh.Open(); }
上面是代码,不知道写的对不对??
@火悬崖:你用浏览器访问 http://127.0.0.1:8080/Hello 看能不能访问
@dudu: 浏览器也不能访问,如下图
@dudu: 用Telnet出现如下错误:
@火悬崖: WCF服务所在的IIS站点没有绑定在8080端口上
@dudu: 我是寄宿在控制台应用程序的,这样可以吗?
@火悬崖: 可能寄宿程序没有绑定在8080端口上
@dudu: 不知道我上面粘的代码对不对?这样可以绑定到8080么?
@火悬崖: 参考这篇博文中的代码试试:WCF基础教程-服务寄宿之编码实现-ServiceHost
@dudu: 好的,谢谢啊,有什么不会的再请教你哈。
@dudu: 你好,我看了你推荐的博文,发现代码大致相同,不知道出现这种情况一般会是哪些情况出了问题呢?谢谢。
@火悬崖: 能不能将寄宿的控制台应用程序截个图?
@dudu:
@火悬崖: 换一个端口试试
@dudu: 换了几个端口都不行,直接在浏览器中打开错误如下:
@dudu:哈哈,可以啦。。。终于可以了。
@火悬崖: 我也刚找到了问题的原因,将Console.ReadKey();放在using语句块中,问题就解决了。
@dudu: 是的是的,谢谢你啦,这么晚还在帮忙,哈哈哈。