首页 新闻 会员 周边

WCF客户端 引用服务问题 出现错误

0
悬赏园豆:10 [已解决问题] 解决于 2015-04-16 21:55

引用服务地址为: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
火悬崖的主页 火悬崖 | 菜鸟二级 | 园豆:434
提问于:2015-04-14 22:32
< >
分享
最佳答案
0

建议检查一下WCF服务是否已经绑定在8080端口上

收获园豆:10
dudu | 高人七级 |园豆:30994 | 2015-04-14 22:33
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();
            }

 

上面是代码,不知道写的对不对??

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-14 22:40

@火悬崖:你用浏览器访问 http://127.0.0.1:8080/Hello 看能不能访问

dudu | 园豆:30994 (高人七级) | 2015-04-14 22:49

@dudu: 浏览器也不能访问,如下图

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-15 20:44

@dudu: 用Telnet出现如下错误:

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-15 22:52

@火悬崖: WCF服务所在的IIS站点没有绑定在8080端口上

dudu | 园豆:30994 (高人七级) | 2015-04-15 22:53

@dudu: 我是寄宿在控制台应用程序的,这样可以吗?

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-15 22:55

@火悬崖: 可能寄宿程序没有绑定在8080端口上

dudu | 园豆:30994 (高人七级) | 2015-04-15 23:02

@dudu: 不知道我上面粘的代码对不对?这样可以绑定到8080么?

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-15 23:04

@火悬崖: 参考这篇博文中的代码试试:WCF基础教程-服务寄宿之编码实现-ServiceHost

dudu | 园豆:30994 (高人七级) | 2015-04-15 23:10

@dudu: 好的,谢谢啊,有什么不会的再请教你哈。

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-15 23:12

@dudu: 你好,我看了你推荐的博文,发现代码大致相同,不知道出现这种情况一般会是哪些情况出了问题呢?谢谢。

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-16 21:16

@火悬崖: 能不能将寄宿的控制台应用程序截个图?

dudu | 园豆:30994 (高人七级) | 2015-04-16 21:24

@dudu: 

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-16 21:28

@火悬崖: 换一个端口试试

dudu | 园豆:30994 (高人七级) | 2015-04-16 21:30

@dudu: 换了几个端口都不行,直接在浏览器中打开错误如下:

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-16 21:33

@dudu:哈哈,可以啦。。。终于可以了。

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-16 21:53

@火悬崖: 我也刚找到了问题的原因,将Console.ReadKey();放在using语句块中,问题就解决了。

dudu | 园豆:30994 (高人七级) | 2015-04-16 22:14

@dudu: 是的是的,谢谢你啦,这么晚还在帮忙,哈哈哈。

火悬崖 | 园豆:434 (菜鸟二级) | 2015-04-16 22:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册