WCF服务寄宿到Winform中,运行在外网服务器,内网调用不了?

WCF服务寄宿到Winform中,运行在外网的服务器上,在内网的浏览器上可以访问到数据,如下:
图片说明

但是在添加服务引用时,报错,如图:

图片说明

求各位大神指点!!!!

这个应该和外网没有什么关系,而是你的配置/部署方式的问题,你现在是添加服务引用,换成添加web引用的方式看下。

如果你host在winform上的话,需要启动winform才有服务,才能添加服务引用……先把你的form publish一个吧,然后启动,然后添加,然后就可以了。

using (ServiceHost host = new ServiceHost(typeof(FileService),new Uri("http://192.168.0.118:9004/MicrVideoService/")))
{

            host.Open();
        }

执行后 host 被立即销毁。
不要加 using ,把host 定义成全局的。

能访问wsdl说明就是能引用的,用web引用肯定是可以的,或者用代理也行的,配置客户端代理更简单。

对外网访问,需要设置路由,确定可访问的ip和端口