总结基于ArcGIS Server 9.2 Dot Net ADF的WebGIS项目部署问题
来源:互联网 发布:红帽linux教程 编辑:程序博客网 时间:2024/05/16 08:58
过去的几个月内对基于ArcGIS Server9.2的开发有所接触,这也是第一次真正自己动手作WebGIS的开发,期间遇到诸多问题。最突出的就是二次开发WebGIS的部署问题,以及字符集冲突的问题。问题描述分别见《请教ArcGIS server 9.2做的题目的部署问题》与《??Arcgis Server DotNet Web ADF 模板例子改变字符集后出现的问题》。同意的问题在ESRI BBS也有提问,由于时间断断续续这些问题一直没有找到很好的办法,最近几天才解决,故在此总结一下。
1、关于部署时地图数据源问题的解决:
在web.config中添加一个地图数据源节,部署时只要修改web.congfig中的值就ok了,呵呵。就是请教一文中说的第2种方法,感觉很早就应该这么搞了,简直一劳永逸,所有用到地图资源的地方都可以共享。具体如下。在web.config文件中:
<appSettings>
<!--地图数据源-->
<add key="MapDataSource" value ="MyHost"/>
</appSettings>
在某个类假设是CommonUntility中加几个static方法,当然也可以把许多地图资源访问操作封装在这里了。
2 {
3 static MapResourceManager m_MapResourceManager;
4 static MapResourceItem resourceItem;//地图数据源
5 string QueryLayer;//图层名
6 //设置地图数据源
7 static private void setResourMng()
8 {
9 if (resourceItem!=null)
10 {
11 return;
12 }
13 resourceItem = new MapResourceItem();
14 resourceItem.Name = "MapResourceItem0";
15 resourceItem.Definition = new GISResourceItemDefinition();
16
17 //获取地图数据源
18 string MapDataSource = ConfigurationManager.AppSettings["MapDataSource"];
19 resourceItem.Definition.DataSourceDefinition = MapDataSource;
20 resourceItem.Definition.DataSourceType ="ArcGIS Server Local";
21
22 resourceItem.Definition.ResourceDefinition = "Layers@XIAN";
23 resourceItem.Definition.DataSourceShared=true;
24
25 resourceItem.DisplaySettings = new DisplaySettings();
26 resourceItem.DisplaySettings.DisplayInTableOfContents = true;
27 resourceItem.DisplaySettings.Visible = true;
28
29 m_MapResourceManager = new MapResourceManager();
30 m_MapResourceManager.ResourceItems.Insert(0, resourceItem);
31 m_MapResourceManager.CreateResource(resourceItem);
32 resourceItem.InitializeResource();
33 }
34 //获取ResourceItem
35 static public MapResourceItem GetResourceItem()
36 {
37 setResourMng();
38 return resourceItem;
39 }
40 }
用的地方调用GetResourceItem()就以了。调用如下:
2、关于字符集问题的解决:
此问题最开始是因为html用的gb2312,而aspx用的utf-8,这样存在一个矛盾:
a、当webconfig用gb2312时从html到aspx的提交正常,数据库操作能够正确完成,但是Arcgis server自带的例子的编辑功能无法正常进行,操作中出现脚本错误。
b、当把webconfig改成utf-8时,编辑正常但是html到aspx的提交出现问题,aspx页面无法从html中获取参数。
此前的错误就是因为js,html,aspx的编码都不完全一致导致。试验发现:
1)、html不需要更改编码,只改写<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />中的charset即可。
2)、js的编码可以用UE或者vs.net编辑器更改,aspx似乎由webconfig的配置来决定。
3)、用ArcGIS Server时web.config最好用utf-8.
2 protected void Page_Load(object sender, EventArgs e)
3 {
4 if (!IsPostBack)
5 {
6 if (MapResourceManager1.ResourceItems.Count == 0)
7 {
8 MapResourceManager1.ResourceItems.Add(CommonUntility.GetResourceItem());
9 }
10 }
11 }
- 总结基于ArcGIS Server 9.2 Dot Net ADF的WebGIS项目部署问题
- 总结基于ArcGIS Server 9.2 .Net ADF的WebGIS项目部署问题
- 基于ArcGIS Server的ADF的异步回调机制实现基于动态数据显示问题
- ArcGIS Server .Net Web ADF的类库简介
- 在windows2003+IIS6部署dot net的MVC项目
- ArcGIS Server .Net Web ADF体系结构
- arcgis Server .net adf中的选择操作
- ArcGIS Server .Net Web ADF体系结构
- ArcGIS Server .Net ADF中的AJAX
- ArcGIS Server ADF for .net 参数错误
- Arcgis server .net(vs2003) 绘制直线, 折线,多边形的方法(webgis)
- ArcGIS SERVER ADF
- ArcGIS Server分布式部署总结
- ArcGIS Server .Net Web ADF之几何类型的相互转换
- 基于ArcGIS for Server的服务部署分析
- ArcGIS Server .Net ADF中的编辑功能(一)
- ArcGIS Server .NET ADF中的AJAX之深入浅出/CallbackResult详解
- Flex开发ArcGIS问题集锦一:如何配置基于Flex和.NET的ArcGIS Server开发环境
- 属性(C# 编程指南)
- .NET中GET与SET的用法
- ASP.Net全局变量的设置和读取方法
- 写在一切之前
- 基于ArcGIS Server对ShapeFile文件的编辑功能实现
- 总结基于ArcGIS Server 9.2 Dot Net ADF的WebGIS项目部署问题
- How to create a PictureMarkerSymbol (Picture Symbol)in ArcGIS server with C#
- 通过字体大小,判定字符串的显示长度
- 2007年8月10我開始從事程序員工作
- 常见问题
- 再次回首CSDN
- 悟透JavaScript
- 驱动版Hello World - CSDNBlog
- 《UML与模式设计》中提到的其他需求