• [转]ArcGIS for Silverlight:关于尝试连接到REST端点时发生安全异常的解决方案


    Silverlight跨域策略:

    要从远程服务器访问数据,远程服务器需要在 web 服务器的根目录下放置一个 clientaccesspolicy.xml 文件(例如 c:inetpubwwwroot)。ArcGIS for Silverlight 以 Microsoft Silverlight 平台为基础进行构建。出于安全方面的原因,不允许 Web 浏览器访问位于 Silverlight 应用程序所属 Web 域之外的数据。但是,如果已从服务器授予了权限,则 Silverlight 应用程序可以跨域加载数据。如果远程服务器上放置了一个 clientaccesspolicy.xml 文件,且此文件允许 Silverlight 连接此远程服务器上的服务,则可以实现跨域加载。有关详细信息,请阅读主题使服务跨域边界可用。有关 clientaccesspolicy.xml 文件结构和功能的详细信息,请参阅主题 Silverlight 中的网络安全访问限制。例如,可以查看 ArcGIS Online 所使用的策略文件:http://services.arcgisonline.com/clientaccesspolicy.xml

    clientaccesspolicy.xml 

    <?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>

    crossdomain.xml 

    <?xml version="1.0"?>
    <cross-domain-policy>
    <allow-access-from domain="*" header=”*” />
    </cross-domain-policy>
     此外,在Silverlight中访问本地发布的地图服务时,需要访问动态图层类型:ArcGISDynamicMapServiceLayer,并且要在Url中添加/rest/才可以正确访问,
    如:Url="http://localhost/arcgis/rest/services/asdff/MapServer"。并添加事件:InitializationFailed="
    ArcGISDynamicMapServiceLayer_InitializationFailed",事件中代码如下:(当访问地图服务出错时,可以及时报错,了解出错的原因,便于改错。)

    private void ArcGISDynamicMapServiceLayer_InitializationFailed(object sender, EventArgs e)
    {
        Layer layer = sender as Layer;
        MessageBox.Show("加载图层失败:" + layer.InitializationFailure.Message);
    }

    则,本异常处理成功!
    转:http://www.cnblogs.com/twobin/archive/2012/12/24/2830577.html
  • 相关阅读:
    mysql concat_ws 与 concat 多字段模糊匹配应用
    logstash marking url as dead 问题解决
    IntelliJ IDEA(四) :Settings(上)
    IntelliJ IDEA(三) :常用快捷键
    IntelliJ IDEA(二) :面板介绍
    IntelliJ IDEA(一) :安装与破解(支持最新2020.1)
    Echo框架
    Goland 结构体提示tag
    Mock使用
    Postman文档导出
  • 原文地址:https://www.cnblogs.com/jordonin/p/3224062.html
Copyright © 2020-2023  润新知