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

简介: 先上一个类,如下:public class BaseClass{ public static string getFullUri(string oldUriString)...

先上一个类,如下:


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地址同样访问的问题。

相关文章
|
5月前
|
SQL 网络协议 安全
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
|
6月前
|
自然语言处理 PyTorch API
`transformers`库是Hugging Face提供的一个开源库,它包含了大量的预训练模型和方便的API,用于自然语言处理(NLP)任务。在文本生成任务中,`transformers`库提供了许多预训练的生成模型,如GPT系列、T5、BART等。这些模型可以通过`pipeline()`函数方便地加载和使用,而`generate()`函数则是用于生成文本的核心函数。
`transformers`库是Hugging Face提供的一个开源库,它包含了大量的预训练模型和方便的API,用于自然语言处理(NLP)任务。在文本生成任务中,`transformers`库提供了许多预训练的生成模型,如GPT系列、T5、BART等。这些模型可以通过`pipeline()`函数方便地加载和使用,而`generate()`函数则是用于生成文本的核心函数。
|
6月前
|
API
支付系统----微信支付24--APlv3介绍,首先我们要引入支付参数,包含商户号,APPID、API秘钥,数字证书,用代码加载到应用程序当中,之后加载商户私钥,商户需要用私钥进行验签,微信平台接收商
支付系统----微信支付24--APlv3介绍,首先我们要引入支付参数,包含商户号,APPID、API秘钥,数字证书,用代码加载到应用程序当中,之后加载商户私钥,商户需要用私钥进行验签,微信平台接收商
|
人工智能 数据可视化 API
ArcGIS API for Python
ArcGIS API for Python
91 0
|
JavaScript 前端开发 应用服务中间件
Arcgis api for javascript 详细部署
Arcgis api for javascript 详细部署
|
人工智能 数据可视化 数据管理
ArcGIS API for Python
ArcGIS API for Python
125 0
|
数据可视化 数据管理 API
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
arcgis api 3.X 修改自带弹窗样式 2022年6月12日
自带的弹窗介绍: arcgis api 3.X 修改自带弹窗样式插图 /*修改原有弹窗的css样式*/ /* 弹窗整体 */ .esriPopup { font-size: 16px; box-shadow: 10px 10px 5px #888888; } .esriPopup .sizer { position: relative; width: 400px; /* 弹窗宽度 */ z-index: 1; } /* 标题部分 */ .esriPopup .titlePane { background-color: rgba(7
|
JavaScript 前端开发 定位技术
ArcGIS API For JavaScript官方文档(六)之设置范围
ArcGIS API For JavaScript官方文档(六)之设置范围
|
存储 JSON 前端开发
ArcGIS API For JavaScript官方文档(一)之默认API配置
ArcGIS API For JavaScript官方文档(一)之默认API配置