经过这几天的折腾终于将环境配置完成,VS2010, SDE,ArcGIS Server,准备利用silverlight API 做一个WebGIS系统,在此记录过程的问题。

1.初次接触silverlight,调试花费不少时间,由于安装的是silverlight 3.0,而runtime是4.0版本的,在启用silverlight 调试的时候会出现版本不匹配,于是乎,google之,设置相应.web项目的web属性,禁用SilverLight 调试器即可。

2.silverlight 访问 ArcGIS发布的REST地图服务过程中会出现跨域调用问题。(网上摘录)

通常,如果基于 Silverlight 的应用程序检测到其请求是一个跨域请求,将首先在 Web 服务的应用程序根处查找 Silverlight 跨域策略文件 (clientaccesspolicy.xml)。如果这个请求导致"404 未找到"或其他错误,应用程序将在应用程序根处查找 Flash 跨域策略文件 (crossdomain.xml)。不允许重定向跨域策略文件。此外,跨域策略文件保持对应用程序会话有效。
    
现在知道了只要在网站中部署一个跨域策略文件,就可以解决Silverlight跨域请求问题。跨域策略文件要放在哪里?

注意:跨域策略文件必须也只能放在网站的放置在根目录下。

我配置的是IIS服务器,将两文件crossdomain.xml和clientaccesspolicy.xml放置在C:/inetpub/wwwroot目录下,

 

crossdomain.xml
 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <cross-domain-policy>
 3 
 4  <!--
 5  <allow-access-from domain="*" />-->
 6  <!--<allow-access-from domain="10.48.194.53"/>
 7  <site-control permitted-cross-domain-policies="all"/>
 8  <allow-http-request-headers-from domain="*" headers="*"/>
 9  <allow-access-from domain="*"/>-->
10  <allow-access-from domain="*" secure="true" />
11  <allow-access-from domain="10.48.194.53"/>
12  <site-control permitted-cross-domain-policies="all"/>
13  <allow-http-request-headers-from domain="*" headers="*"/>
14 
15 </cross-domain-policy>

 

 

clientaccesspolicy.xml
 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <access-policy>
 3  <cross-domain-access>
 4   <policy>
 5    <allow-from http-request-headers="*">
 6     <domain uri="*"/>
 7     <domain uri="http://*"/>
 8    </allow-from>
 9    <grant-to>
10     <resource path="/" include-subpaths="true"/>
11    </grant-to>
12   </policy>
13  </cross-domain-access>
14 </access-policy>

重启IIS服务,在silverlight 中调用REST地图服务,

调用地图服务
Grid x:Name="Layout" Background="White">
            <esri:Map x:Name="MyMap" >
                <esri:ArcGISDynamicMapServiceLayer ID="mylayer" 
           Url="http://localhost/ArcGIS/rest/services/mymap/MapServer"/>                
            </esri:Map>
        </Grid>

成功,完成调用。

 

 

posted on 2012-04-25 20:46  sapling  阅读(4696)  评论(0编辑  收藏  举报