我有几个WCF服务。 当我在服务器上检查它们时(例如:ServiceTest.svc?wsdl),我看到的是一个包含wcf服务信息的xml文件。所以服务很好。
我在不同的服务器上有一个Silverlight应用程序。 我得到了“着名的”跨域错误。 当我将clientaccesspolicy.xml放在带有WCF服务的目录中时,问题仍然存在。
对于共享主机,安全性是否可能不够高/低?
感谢,
菲利普
答案 0 :(得分:2)
XML文件必须放在域的根目录中。通常你必须将它们放入inetpub / wwwroot文件夹中,而不是放入带有WCF服务的文件夹中。
根据您的提供商实施共享主机的方式,我担心您必须要求他们支持跨域访问并将XML文件放入根目录。
我不确定,但我认为它也可以注册您自己的域,该域指向您想要以root身份使用的文件夹,并将XML文件放在那里。然后,客户必须在注册域中使用服务器URL。
答案 1 :(得分:1)
这类问题的最佳工具之一是Fiddler(或其他一些Web调试代理)。查看网络调用,您可以查看浏览器查找clientaccesspolicy.xml文件的地址,然后确保将文件放在该位置。如果你没有看到这个电话,或者你看到它并且文件已经存在,你可以继续处理其他问题(网络服务或调用代码中的错误)。