我有一台带有 Windows Server 2008 的服务器电脑。我还有一个与端口8525 一起使用的wcf服务,并使用 Windows服务 .i打开服务器防火墙中的端口(添加规则)。
我的服务器机器有一个有效的IP。所以我的客户尝试连接到我的服务 ((HTTP):// MyServerIP:8525 /服务名称)。
我的所有应用程序用户都是在公司中工作的用户。所以用户互联网来自安全网络(代理服务器或VPN连接)。
问题在于:
我的很多客户端都遇到了连接问题,似乎本地网络阻塞了我的程序连接(如果他们尝试连接到我的服务器,系统.diagnostics监听器会记录它),但服务不会保存任何日志。
我认为他们的互联网服务器有防火墙并阻止了我。我用
修复了其中一些<defaultProxy enabled="true" useDefaultCredentials="true" />
但仍有很多人遇到同样的问题。另一个令人讨厌的问题是网络管理员因为安全问题而无法打开该端口而且对我没有帮助。
一个常见的例外是: System.ServiceModel.EndpointNotFoundException&gt; System.Net.WebException&gt; System.Net.Sockets.SocketException(在客户端)。
当我从家里连接时没有发生这个问题。
我的问题:
用c#代码或客户端app.config解决此问题的任何方法?或至少通过服务配置(服务器端)的某些更改来解决此问题。
答案 0 :(得分:1)
唯一简单的解决方案是在端口80上托管该服务
问题是某些网络不允许传输连接到允许服务以外的端口(http,https,pop等等)
或者您可以要求这些网络的系统管理员允许流量到您的IP /端口
如果您在该服务器上安装了iis,则可以在iis上托管wcf。
请注意,任何时候只有一个进程可以绑定到地址上的端口。
在那里你可以找到一些信息:How can a WCF service listen the same port as IIS?