我有一个在Silverlight中开发的外部(公共)网站。 Silverlight应用程序当前调用IIS中托管的基于http的wcf服务。
我现在不得不使用托管在不同应用服务器中的net.tcp绑定来调用wcf服务。我有一个net.tcp wcf服务托管在端口范围4502-4530的Windows服务中,并带有一个接口,用于公开clientaccesspolicy.xml文件作为服务的一部分。我可以从Web服务器中的Silverlight应用程序调用此服务。我希望SL应用程序直接调用net.tcp,而不是从另一个基于http的服务路由调用它。
当通过互联网公开时,问题是没有任何问题。 客户端浏览器 - >使用Silverlight网站的IIS网络服务器 - >在net.tcp上使用wcf服务的App Server。 我假设在这种情况下,从XAP SL尝试使用net.tcp直接调用app服务器服务?
可以为端口4502-4535打开Web服务器和应用服务器之间的通信。但我想知道客户端怎么样。此设置是否要求端口即使在客户端计算机(使用浏览器)中也可用?
任何见解都非常有用。
感谢。
答案 0 :(得分:1)
看看http://support.microsoft.com/kb/2425652;还包含示例代码!如果正确设置了clientaccesspolicy.xml;只要客户端可以访问您的TCP服务器,它就应该工作。
如果您的客户位于某个阻止服务器端口的防火墙后面;他们可能面临连接问题!