允许在Silverlight中进行跨域调用

时间:2012-08-14 10:07:16

标签: silverlight silverlight-5.0

如Microsoft this article所述,您需要在下载应用程序的Web服务上托管xml配置文件,以允许应用程序进行跨域调用。

这有什么解决方法吗?我的silverlight应用程序可以运行OOB,也可能托管在一些随机的Web服务器上(无法放置crossdomain.xml或clientaccesspolicy.xml)。

我需要从silverlight应用程序调用的是对各种json webservices的调用(使用ServiceStack中的SilverlightServiceClient),但我不提前知道URL。

干杯!

2 个答案:

答案 0 :(得分:2)

听起来您实际上并不在跨域方案中,但不确定您的JSON服务位于何处。您引用的文章与您希望在托管Silverlight应用程序的服务器之外的服务器上调用服务的位置有关。

如果 JSON服务在您的控制之外的其他计算机上,那么您应该从您的网络服务器而不是您的客户端调用它们。然后没有跨域问题。您只需将调用包装在您自己的Web服务器上(如果第三方服务消失,这也会为您提供额外的分离级别。)

我唯一不确定的是OOB模式是否记得它来自哪个服务器(但我认为它确实如此)。

答案 1 :(得分:0)

请参阅此问题,了解如何使用全局(或每服务)HTTP标头启用带ServiceStack的CORS:

servicestack REST API and CORS