2010-08-12 166 views
0

我正在使用WCF客户端在.NET应用程序中使用Web服务。WCF客户端连接问题

该服务的端点地址位于端口4338上,且位于HTTPS上,并且采用WS-Security标准进行了保护。

所以地址是一样的东西:

https://[servername]:4338/[servicename]/ 

我不能只运行的应用程序进行通信的服务。 它给了我下面的错误:

无法连接到[服务器名称]:4338 TCP错误代码10060:连接 尝试失败,因为连接 方没有正确 一段时间后做出反应,或建立 连接失败,因为连接主机 未能回应 [服务器名称]:4338

但是当我运行提琴手调查HTTP通信,应用程序启动到W ork,我将能够与服务进行沟通。

另外,我想补充说,我在承载第一个服务的同一个Web服务器上有不同的服务,并且第二个服务的地址托管在端口8080上,并且能够与WCF客户端通信(没有运行Fiddler)。

所以,我GOOGLE了,我发现它可能与代理设置有关。你知道这个问题是什么,我该如何解决它?

谢谢

回答

1

Fiddler充当互联网代理服务器。一般来说,任何形式的症状:“它在我使用Fiddler时都有效”意味着“它在有(不同)代理服务器时有效”。

检查您的代理服务器设置。特别是,如empi建议的那样,在浏览器中尝试。如果它在那里工作,这可能是因为浏览器配置了代理设置,并且您没有为WCF配置它们。

0

感谢empi回复。 我找到了答案。 实际上,在我们公司,我们通过“自动配置脚本” 进行代理设置,并且取决于我们在内部针对的网站,脚本会将我们指向适当的代理。 所以,从脚本中我得到了正确的代理地址。我添加了这个代码 WebRequest.DefaultWebProxy = new WebProxy(“http://xx.xx.xx.xx:8080”); 并解决了问题 因此,WCF客户端未检测到自动脚本的设置。 这就是当我运行Fiddler时它工作的原因,因为Fiddler听取了http通信,并通过设置再次发送它。