0

我在 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?

谢谢

4

1 回答 1

1

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

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

或者您可以使用我的方法来处理此类问题。

于 2012-04-10T06:24:50.230 回答