arcserver开发小结(二)
一、关于服务器上下文
1,服务器上下文(ServerContext)本质上是一个GIS服务器上的进程,它是服务器端编程的起点。
2,只有本地资源才能得到服务器上下文,通常得到服务器上下文的主线是:
MapResourceLocal——>ServerContextInfo——>ServerContext
3,在gis服务器上创建对象,只能通过ServerContext的CreateObject方法,而不能用new关键字,new关键字创建的是在本机上创建,而非gis服务器上。
4,CreateObject方法中的参数“类ID”不能写错,否则提示“无效的类别字符串”,当初很多时候由于写错了,被系统提示了不少次。
二、关于回调刷新
1,如果只刷新普通的html控件的内容,并把回调结果返回给此html控件,或者只是执行一段JavaScript代码
//回调结果实例
CallbackResult cr = new CallbackResult("div", "layerListDiv", "innercontent", returnString);//普通html控件
CallbackResult cr = new CallbackResult(null, null, "javascript", returnString);//js代码 //把回调结果实例增加到地图的回调结果集中
Map1.CallbackResults.Add(cr); //以字符串的形式返回地图的回调结果集
return Map1.CallbackResults.ToString();
2,只刷新Map控件
3,刷新Toc控件
//返回Map1的回调结果集 return Map1.CallbackResults.ToString();
回调刷新小结:从上面我们可以知道无论是怎样的回调刷新,最后的回调结果集都要添加到map控件的回调结果集中,这是因为ESRI为我们写好的回调函数processCallbackResult()中对返回的字符串进行了解析,从解析中我们可以看到回调结果都是针对map的。。。
三、关于MapServer对象
在实际的开发过程中,我们经常要在gis服务器端编程,从而操作细粒度的AO,其入口是IMapServer对象,通过这个对象,我们可以得到IMapServerObject对象,进一步获取地图文档的核心对象。
ArcGIS Server 本地资源访问ArcObjects的IMapServer对象有两种方式
第一种方式
第二种方式
//得到本地资源的服务上下文
IserverContext serverContext = mapResourceLocal.ServerContextInfo.ServerContext;
//通过服务器上下文得到服务对象(IServerObject),并把该服务对象强制转换为地图服务对象(IMapServer)
IMapServer mapServer = serverContext.ServerObject as IMapServer
在得到IMapServer对象之后 ,就可以得到IMapServerObject对象了。
由于MapServerClass类实现了IMapServer接口和IMapServerObject接口,故可对IMapServer进行接口查询(QI)得到IMapServerObject对象了,方法只是进行一次强制转换。
四、关于对 com 组件的调用
实际arcserver开发过程中,我遇到了很多次弹出内容为“对 com 组件的调用返回了错误 hresult e_fail”的网页警告框,刚开始真是头疼,google了下,也没找到合适自己的内容。后来仔细检查、调试,发现是函数传入参数时发生错误了。比如我们想要传入的参数是一个图层的ID,但是由于不小心,传入的是一个空值null或者空字符串,导致前面的结果。这个故事告诉我,以后一定要小心,小心,再小心啊。。。
arcserver开发小结(二)的更多相关文章
- arcserver开发小结(三)
一.关于网络数据集的制作 由于要做实现网络分析的功能,而手中却没有网络数据集,关于网络数据集的制作,网上也有不少的资料.我参考的是ESRI为我们提供的帮助文档(Network_Analyst_Tuto ...
- arcserver开发小结(一)
一.关于属性查询 由于要做属性查询,又重新玩起了arcmap中的select by attribute,有很多自己当初玩弄arcmap多年还不是很清楚的东西 1,字段名 (1)file geodata ...
- Android 即时通讯开发小结(二)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- vue开发小结(下)
前言 继前几天总结了vue开发小结(上)后,发现还有很多的点没有能列举出来,于是还是打算新建一个下篇,再补充一些vue开发中需要注意的细节,确实还是都是细节的问题,我只是在这里强调下,希望对大家有帮助 ...
- Android 即时通讯开发小结(一)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- Java开发学习(二十四)----SpringMVC设置请求映射路径
一.环境准备 创建一个Web的Maven项目 参考Java开发学习(二十三)----SpringMVC入门案例.工作流程解析及设置bean加载控制中环境准备 pom.xml添加Spring依赖 < ...
- Java开发学习(二十五)----使用PostMan完成不同类型参数传递
一.请求参数 请求路径设置好后,只要确保页面发送请求地址和后台Controller类中配置的路径一致,就可以接收到前端的请求,接收到请求后,如何接收页面传递的参数? 关于请求参数的传递与接收是和请求方 ...
- Java开发学习(二十七)----SpringMVC之Rest风格解析及快速开发
一.REST简介 REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描 ...
- SQL开发技巧(二)
本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...
随机推荐
- openCV 和GDI画线效率对比
一. 由于项目需要,原来用GDI做的画线的功能,新的项目中考虑到垮平台的问题,打算用openCV来实现,故此做个效率对比. 二. 2点做一条线,来测试效率. 用了同样的画板大小---256*256的大 ...
- js进阶 11-22/23 js如何实现选项卡
js进阶 11-22/23 js如何实现选项卡 一.总结 一句话总结:通过索引把选项卡头的li标签和选项卡内容的div标签联系在一起,通过控制div标签的display属性可以实现选项卡的选项切换. ...
- 2020发布 .NET 5 下一代全平台 .Net 框架
[翻译] 正式宣布 .NET 5 2019-05-07 01:18 by Rwing, 16515 阅读, 79 评论, 收藏, 编辑 原文: Introducing .NET 5 今天,我们宣布 . ...
- 苹果浏览器Safari对html标签submit按钮的默认渲染
-webkit-appearance: none; 上面的设置就告诉Safari不要使用默认渲染,使用我们写好的 有这么一个webkit的私有属性: -webkit-appearance:none; ...
- [Ramda] Compose lenses
We can compose lenses to get value: const addrs = [{street: '99 Walnut Dr.', zip: '04821'}, {street: ...
- 【Bash百宝箱】Linux shell学习
shell特点-- Linux有多种shell能够使用,默认的为bash,bash有以下几个主要特点. 1.命令记忆能力 在命令行中按上下键能够找到一个前/后输入的命令.这些命令记录在-/.bash_ ...
- 网络编程02---HTTP协议
1.URL简单介绍 1.client怎样找到server 我们都知道网络中部署着各种各样的server.比方腾讯的server.百度的server.那么问题来了.client怎样找到想要连接的serv ...
- Erlang 进制转换
http://www.cnblogs.com/me-sa/archive/2012/03/20/erlang0047.html bnot unary bitwise not integer div i ...
- cocos2d-x 3.4 中文乱码解决之道
cocos2dx 中文乱码解决之道 须要引入五个文件 1.iconv.h 2.iconvString.cpp 3.iconvString.h 4.iconv.dll 5.libiconv.lib 完整 ...
- 前端怎么用js模拟应用 JSON-通俗易懂
前端怎么用js模拟应用 JSON-通俗易懂,这是转载额 好多孩子 弄不明确复杂的json 格式的应用,以下从基础来看一看JSON.怎么玩, 事实上结构理解清了,写起来比html还爽吧. 0.前言 ...