WCF双工通信,本机正常,局域网内访问超时

本人新手,做了一个WCF的服务,宿主为IIS,提供数据库查询功能,客户端为WPF应用程序,有登录和数据显示。在本地运行,客户端程序正常登录和显示,但将WCF的服务放到局域... 本人新手,做了一个WCF的服务,宿主为IIS,提供数据库查询功能,客户端为WPF应用程序,有登录和数据显示。在本地运行,客户端程序正常登录和显示,但将WCF的服务放到局域网内的其他机器上,客户端就登录不了了,表现为连接超时:
异常堆栈信息: Server stack trace: 在 System.ServiceModel.Channels.ReliableRequestor.ThrowTimeoutException() 在 System.ServiceModel.Channels.ReliableRequestor.Request(TimeSpan timeout)。。。。。。
Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 IDRMSClient.IDRMSService.IGetData.ClientLogin(String userName)
在 IDRMSClient.LoginWindow.LoginConfirmButton_Click(Object sender, RoutedEventArgs e) 位置 D:\...\IDRMSClient\LoginWindow.xaml.cs:行号 65
异常消息: 打开操作没有在分配的超时 00:00:10 内完成。分配给此操作的时间可能已经是更长超时的一部分。

客户端引用服务,获取服务实例: public static GetDataClient client = new GetDataClient(new InstanceContext(new CallBack()));
通过断点调试,发现client实例有如下错误:图1
不知道这个问题是否是连接服务器失败的原因;在本地调试时,也会出现这个问题,但不会影响访问,运行正常。
项目的实际使用情况:本地开发完成后,将WCF服务放到外网服务器上使用,客户端生成后,放到外网服务器所在的局域网内使用。客户端在本地添加服务时,下载的服务器代码是在本地,上传至外网时,将整个解决方案的IP地址全部替换掉,换成了外网服务器的IP地址。在服务器所在局域网内,通过浏览器能访问到服务,就是客户端程序不行。局域网内访问服务正常,图2
求各位大神解我疑惑,不胜感激!
展开
 我来答
姑苏问风8M
2017-12-07 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:22.1万
展开全部
本机telnet尝试一下端口先验证本机的服务是否正常,如果正常,在看客户机到服务器的网络是否正常,如果正常,再telnet尝试验证,如果端口不通,则可能是防火墙或杀毒软件之类软件阻止了端口通讯
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式