解决ArcGIS API for Silverlight 加载地图的内外网访问问题

简介: 原文:解决ArcGIS API for Silverlight 加载地图的内外网访问问题 先上一个类,如下:public class BaseClass { public static string getFullUri(string oldUriString) ...
原文: 解决ArcGIS API for Silverlight 加载地图的内外网访问问题

先上一个类,如下:


public class BaseClass
{
        public static string getFullUri(string oldUriString)
        {
            string newUriString = oldUriString;
            //处理相对地址============================================================
            if (newUriString[0] == '/')
            {
                string shost = System.Windows.Browser.HtmlPage.Document.DocumentUri.Host;
                int sport = System.Windows.Browser.HtmlPage.Document.DocumentUri.Port;
                newUriString = "http://" + shost + (sport == 80 ? "" : ":" + sport.ToString()) + newUriString;
            }


            if (!newUriString.StartsWith("http"))
            {
                string shost = System.Windows.Browser.HtmlPage.Document.DocumentUri.Host;
                int sport = System.Windows.Browser.HtmlPage.Document.DocumentUri.Port;
                string slocal = System.Windows.Browser.HtmlPage.Document.DocumentUri.LocalPath;
                slocal = slocal.Substring(0, slocal.LastIndexOf('/'));
                Uri turi = new Uri("http://" + shost + (sport == 80 ? "" : ":" + sport.ToString()) + slocal + "/" + newUriString, UriKind.Absolute);
                newUriString = turi.ToString();
            }
            return newUriString;
        }
   }
 
 <esri:Map>
       <esri:Map.Layers>
                <esri:ArcGISTiledMapServiceLayer ID="BaseLayer" Url="/arcgis/rest/services/HSDQ/MapServer/"/>
       </esri:Map.Layers>
 </esri:Map>
 

 public MainPage()
 {
      InitializeComponent();
      ArcGISTiledMapServiceLayer layer = myMap.Layers["BaseLayer"] as ArcGISTiledMapServiceLayer;
      layer.Url = BaseClass.getFullUri(layer.Url);
}



这样就可以解决内网IP地址访问和外网IP地址同样访问的问题。

目录
相关文章
|
2月前
|
数据可视化 Linux API
使用Docker安装部署Swagger Editor并远程访问编辑API文档
使用Docker安装部署Swagger Editor并远程访问编辑API文档
96 0
|
2月前
|
JSON 应用服务中间件 API
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
202 1
|
9月前
|
安全 Java API
解决 Swagger API 未授权访问漏洞:完善分析与解决方案
Swagger 是一个用于设计、构建、文档化和使用 RESTful 风格的 Web 服务的开源软件框架。它通过提供一个交互式文档页面,让开发者可以更方便地查看和测试 API 接口。然而,在一些情况下,未经授权的访问可能会导致安全漏洞。本文将介绍如何解决 Swagger API 未授权访问漏洞问题。
|
29天前
|
Java API Maven
使用Java Libvirt API 访问虚拟机信息
使用Java Libvirt API 访问虚拟机信息
15 1
|
1月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
|
25天前
|
JavaScript 前端开发 定位技术
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
37 0
|
1月前
|
机器学习/深度学习 数据采集 文字识别
印刷文字识别产品使用合集之需要对子用户加什么权限,才能通过API访问
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
2月前
|
JSON 自然语言处理 Dart
私有化部署 Llama3 大模型, 支持 API 访问
通过 ollama 本地运行 Llama3 大模型其实对我们开发来说很有意义,你可以私有化放服务上了。 然后通过 api 访问,来处理我们的业务,比如翻译多语言、总结文章、提取关键字等等。 你也可以安装 enchanted 客户端去直接访问这个服务 api 使用。
680 0
私有化部署 Llama3 大模型, 支持 API 访问
|
1月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之SD API模式可以通过什么方式进行访问
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2月前
|
安全 Java API
java借助代理ip,解决访问api频繁导致ip被禁的问题
java借助代理ip,解决访问api频繁导致ip被禁的问题