在同一个域中工作时Silverlight跨域错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在同一个域中工作时Silverlight跨域错误相关的知识,希望对你有一定的参考价值。

我正在尝试使用ssl和silverlight客户端应用程序访问.asmx Web服务,我已经做过的事情:1。我有一个crossdomain.xml(只需要clientaccesspolicy.xml或crossdomain.xml)。 2.我在serviceReferences.ClientConfig文件中有标记。 3.当我使用ssl(“https:// ...”)调用webservice时,我得到了跨域错误,当我将访问点更改为没有ssl时(“http:// ...”)它工作正常! 4.我使用和不使用ssl浏览了web服务地址,boath工作。

如何在同一个域工作时遇到跨域错误?...

答案

确保您在clientaccesspolicy.xaml中有适当的SSL输入。你可以看看msdn http://msdn.microsoft.com/en-us/library/cc645032%28v=vs.95%29.aspx。但是,如果您的Web服务托管在与Silverlight应用程序相同的Web应用程序中,则可以在客户端的端点配置(.ClientConfig)中传递相对路径到WS,并且不需要crossdomain / clientaccesspolicy文件。例如,不使用address =“http://localhost/Services/ExampleService.asmx”,而是使用类似address =“../ Services / ExampleService.asmx”(取决于XAP文件所在的文件夹)。

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

像这样。由于不明显的原因,<domain uri="http://*" />实际上有所帮助

以上是关于在同一个域中工作时Silverlight跨域错误的主要内容,如果未能解决你的问题,请参考以下文章

WCF 跨域策略安全错误

WCF跨域策略安全性错误

当 URL 在浏览器中工作时,啥可能导致“连接 ETIMEDOUT”错误?

如何针对已部署的服务 [跨域问题] 调试 Silverlight 应用程序?

出现 405 错误-在邮递员中工作时方法不允许招摇撞错

在FF3中工作时,IE8中的对象未定义错误