【问题标题】:Fail to use WCF service from silverlight application无法从 silverlight 应用程序使用 WCF 服务
【发布时间】:2011-03-01 11:20:33
【问题描述】:

我编写了一些包含一种方法的 WCF 服务。 该方法没有获取任何参数 - 但返回字符串。

尝试通过 silverlight 应用程序调用此服务 - 我收到关于“跨域访问策略”的异常。

我用谷歌搜索它,我发现我需要将“clientaccesspolicy.xml”添加到服务根(WCF 根应用程序)——所以我做了……但仍然得到相同的异常。

(我使用的是 .net 4.0,我的服务使用的是 IIS 7.5)

感谢您的帮助。

【问题讨论】:

    标签: wcf


    【解决方案1】:

    见:
    http://msdn.microsoft.com/en-us/library/cc645032%28VS.95%29.aspx

    您可能需要 crossdomain.xml 以及 clientaccesspolicy.xml。

    例如跨域.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="*"/>
    </cross-domain-policy>
    

    和clientaccesspolicy.xml

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

    另请查看此链接:
    http://timheuer.com/blog/archive/2008/04/06/silverlight-cross-domain-policy-file-snippet-intellisense.aspx

    仔细检查所需文件是否位于正确的路径中。我曾经遇到过一个 flash 应用程序的问题,该应用程序一直中断只是因为 xml 文件位于错误的目录中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多