我们目前拥有一个托管在SharePoint 2010页面中的Silverlight应用程序。 Silverlight应用程序会将Web服务调用到我们的域中的另一台服务器上,该域中有一个clientaccesspolicy文件。我们在生产环境中遇到了跨域问题。SharePoint 2010和Silverlight
服务器场管理员组中的用户可以毫无问题地使用Silverlight应用程序。但是,所有其他用户在尝试使用此应用程序时都会收到通用的跨域异常。我们已将Fiddler附加到流程中,并注意到服务器场管理员已获得了clientaccesspolicy文件,但非管理员用户却没有。事实上,Fiddler从未显示过为非管理员加载该文件的尝试。
这只发生在我们的生产环境中,这导致我相信存在导致此问题的Web配置或权限设置。不幸的是,我找不到任何支持这一点的东西。
是否有其他人遇到这个问题或知道这样的设置是否存在?
需要检查用户是否可以直接访问服务和策略文件。 – vorrtex
他们可以。我有用户在他们的浏览器中测试URL。他们可以访问服务URL和策略文件。当它在SharePoint中托管时,他们无法访问Silverlight应用程序。有一点我最初并没有提出 - 有问题的服务是一个简单的WCF服务,对SQL Server执行SELECT操作。它不是SharePoint Web服务。 –
还有类似的讨论:http://forums.silverlight.net/t/193638.aspx。其他一些想法:策略文件被浏览器缓存,或者有一些映射将远程服务器屏蔽为本地服务器。 – vorrtex