我一直在跟随一大堆关于如何在bing地图silverlight中获得覆盖工作的教程,他们似乎都没有提到我的这个问题。
教程示例:https://alastaira.wordpress.com/2011/01/07/accessing-a-wms-tile-server-from-bing-maps-silverlight/
实际情况是我将标题资源设置为:"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然后调用在提琴手看到。
我也试着旋转一个web客户端,并在http://google.com上做一个get请求,提琴手实际上记录了一个呼叫http://google.com/clientaccesspolicy.xml,这似乎是符合它应该如何工作。
我有以下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调用。
如果你自己的Silverlight应用托管在https上,它就不能向任何http站点发出请求。我想这就是原因——否则它应该可以工作