BingMaps Silverlight不能使用http的tileouce,只有https才能使用

时间:2013-03-29 23:44:20

标签: silverlight http bing-maps crossdomain.xml clientaccesspolicy.xml

我一直在关注如何在bing map silverlight中使用叠加的一大堆教程,他们似乎都没有提到我的这个问题。

教程示例:https://alastaira.wordpress.com/2011/01/07/accessing-a-wms-tile-server-from-bing-maps-silverlight/

发生的事情是我将tilesource设置为:“http://wms1.ccgis.de/cgi-bin/mapserv?map=/data/umn/germany/germany.map&&VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&SRS=EPSG%3A4326&BBOX= {0}& WIDTH = 256& HEIGHT = 256& LAYERS = Bundeslaender”

当我运行应用程序并使用fiddler检查呼叫时,不会对此服务进行单个调用。如果我将源更改为以https开头,则可以在fiddler中看到调用。

我还尝试了一个webclient并在http://google.com上执行get请求,fiddler实际上记录了对http://google.com/clientaccesspolicy.xml的调用,这似乎与它应该如何工作一致。

我的网站root中有以下xml文件。

ClientAccessPolicy.xml

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

的crossdomain.xml

<cross-domain-policy>
    <allow-access-from domain="*.*" headers="SOAPAction"/>
    <allow-http-request-headers-from domain="*.*" headers="SOAPAction"/> 
    <site-control permitted-cross-domain-policies="master-only"/>
</cross-domain-policy>

有人有什么想法吗?看起来似乎bingmaps SDK只是拒绝尝试http调用。

1 个答案:

答案 0 :(得分:0)

如果您自己的Silverlight应用程序托管在https上,则无法向任何http网站发出请求。我认为这是原因 - 否则它应该起作用