SharePoint 2010和Silverlight

SharePoint 2010和Silverlight,silverlight,sharepoint-2010,Silverlight,Sharepoint 2010,我们目前有一个Silverlight应用程序,它托管在SharePoint 2010页面中。Silverlight应用程序对我们域上的另一台服务器进行web服务调用,该服务器有一个clientaccesspolicy文件。我们在生产环境中遇到跨域问题 场管理组中的用户可以使用Silverlight应用程序,而不会出现任何问题。但是,所有其他用户在尝试使用此应用程序时都会收到通用跨域异常。我们已将Fiddler附加到该流程,并注意到服务器场管理员可以获得clientaccesspolicy文件,但

我们目前有一个Silverlight应用程序,它托管在SharePoint 2010页面中。Silverlight应用程序对我们域上的另一台服务器进行web服务调用,该服务器有一个clientaccesspolicy文件。我们在生产环境中遇到跨域问题

场管理组中的用户可以使用Silverlight应用程序,而不会出现任何问题。但是,所有其他用户在尝试使用此应用程序时都会收到通用跨域异常。我们已将Fiddler附加到该流程,并注意到服务器场管理员可以获得clientaccesspolicy文件,但非管理员用户不能。事实上,Fiddler从未尝试为非管理员加载此文件

这只发生在我们的生产环境中,这让我相信是web配置或权限设置导致了问题。不幸的是,我找不到任何支持这一点的东西


有没有其他人遇到过这个问题,或者知道是否存在这样的设置?

请参阅上面的评论。我必须更改URL以使用完整的机器名,即从webserver/service.svc更改为webserver.domain.com/service.svc。它解决了这个问题,但没有回答农场管理员为什么可以访问它的问题。Vortex的回答是迄今为止我所看到的最好的解释。

见上面的评论。我必须更改URL以使用完整的机器名,即从webserver/service.svc更改为webserver.domain.com/service.svc。它解决了这个问题,但没有回答农场管理员为什么可以访问它的问题。Vortex的回答是迄今为止我所看到的最好的解释。

有必要检查用户是否可以直接访问服务和策略文件。他们可以。我让用户在他们的浏览器中测试URL。他们可以点击服务URL和策略文件。当Silverlight应用程序托管在SharePoint中时,他们无法访问该应用程序。我最初没有指出的一点是,所讨论的服务是一个简单的WCF服务,它对SQL Server执行SELECT。它不是SharePoint web services。存在类似的讨论:。其他一些想法:策略文件由浏览器缓存,或者有一些映射将远程服务器屏蔽为本地服务器。我找到了答案。这是我的一个错误。我必须为服务url添加完整的机器名,即。它被设置为以前的。我仍然不知道为什么农场管理员可以使用第一个URL,但我现在不担心它。也许农场管理员在本地机器上使用了此服务,并且由于一些隐式URL映射而可以访问它。好的,请您自己发布问题的答案并接受,这可能会帮助其他有类似问题的人。有必要检查用户是否可以直接访问服务和策略文件。他们可以。我让用户在他们的浏览器中测试URL。他们可以点击服务URL和策略文件。当Silverlight应用程序托管在SharePoint中时,他们无法访问该应用程序。我最初没有指出的一点是,所讨论的服务是一个简单的WCF服务,它对SQL Server执行SELECT。它不是SharePoint web services。存在类似的讨论:。其他一些想法:策略文件由浏览器缓存,或者有一些映射将远程服务器屏蔽为本地服务器。我找到了答案。这是我的一个错误。我必须为服务url添加完整的机器名,即。它被设置为以前的。我仍然不知道为什么农场管理员可以使用第一个URL,但我现在不担心它。也许农场管理员在本地机器上使用了此服务,并且由于一些隐式URL映射而可以访问它。好的,你自己把问题的答案贴出来并接受它,它可能会帮助其他有类似问题的人。