Azure在访问clientaccesspolicy.xml和crossdomain.xml文件时尝试使用127.0.0.1

时间:2012-04-09 19:46:12

标签: azure cross-domain wcf-data-services crossdomain.xml clientaccesspolicy.xml

我在Azure上创建了一个典型的Silverlight 5应用程序,其中一个Web项目托管了托管Silverlight XAP文件的站点,另一个Web项目托管了一组WCF数据服务。

这两个站点一起运行在一个Azure角色中但在不同的端口上运行。端口80托管WCF数据服务,端口8081托管实际的Silverlight应用程序。

我遇到此配置的跨域问题。在通过Fiddler观看时,似乎当我的Silverlight应用程序调用服务时,正如预期的那样,它正在寻找来自WCF数据服务站点的clientaccesspolicy.xml和crossdomain.xml文件,以允许跨域访问。但是,Silverlight应用程序将请求发送到http://127.0.0.1,而不是托管WCF数据服务的域的正确URI。

有人可以向我解释为什么应用程序试图转到127.0.0.1而不是正确的URI吗?

由于

1 个答案:

答案 0 :(得分:1)

您的Silverlight应用程序有一个名为“ServiceReferences.ClientConfig”的文件。添加服务引用时已创建该文件。并且因为您添加了127.0.0.1中的服务引用,所以您的文件配置为服务端点位于127.0.0.1。

您需要做的是在部署之前手动更改ServiceReferences.ClientConfig文件,以修复服务端点地址(并将其设置为您正在使用的域)。

或者您可以使用mine approach来解决此类问题。