1

我有一个带有 WCF 服务的 silverlight Web 应用程序来访问 sql server DB 中的表。在此应用程序中,我将使用 WCF 服务从 sql server DB 中的表中提取的列表显示到我的 silverlight CumboBox 中。

注意:- SQLServer DB 在远程机器上。Silverlight 网站托管在 IIS 版本:5.1 中的另一台远程计算机上。WCF 服务作为服务参考客户端添加到同一台计算机上的 Silverlight 网站。

当我在托管它的同一台机器上运行 silverlight 网站时,它对我来说工作正常并且给出了预期的输出。但是同一个网站在从其他远程机器访问时显示该网站,其中没有数据,如图所示。图像在 Silverlight 网站托管的同一台机器上通过 LAN 连接的另一台远程计算机中的图像

任何机构都可以告诉我可能是什么问题。我是 WCF 服务的新手,所以如果我需要在这个问题中分享更多信息,请告诉我


更新 1: -clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from http-request-headers="SOAPAction">
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>

Update-2 我尝试将 crossdomain.xml 文件添加到我的 WCF 服务项目以及根(即http://10.30.10.42:8080/DICOMWebViewer/crossdomain.xml)中,但问题仍然存在。任何机构都可以帮我找出问题所在。

crossdomain.xml:-

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/>
</cross-domain-policy>

更新 3:- 我已经通过Able to see Silverlight content on Local IIS but not remote RSS,但又没有运气了。我仍然面临同样的问题。

4

2 回答 2

1

我通过在 IIS 服务器中托管 WCF Web 服务解决了这个问题。以前它在本地主机中,这就是为什么远程机器无法下载跨域策略和客户端访问策略,而且远程机器完全不知道该服务。因为哪些控件既没有从 SQL Server DB 也没有从 XML 文件中获取数据。现在它工作正常。感谢 Dominik 的快速回答。

于 2012-08-30T09:05:18.117 回答
0

很有可能您必须配置跨域策略才能使您的设置正常工作,请查看以下msdn 文章。

于 2012-08-29T07:13:03.260 回答