ArcGIS Server常见问题集锦(转载)
ArcGIS Server常见问题集锦(转载)
1 用户名问题
在GIS Server PostInstall过程中会涉及到两个用户,默认情况下一个ArcGISSOM,一个是ArcGISSOC,如果用户按照默认情况下进行的话,系统就会给你创建这两个用户,而一般情况下,用户都以自己常见的身份登陆,而不会使用ArcGISSOM用户登录,所以会给后续的很多操作带来麻烦。所以在GIS Server Post Install过程中,建议使用自己常见的用户来进行。
2 Post Install问题
ArcGIS Server中有两个postinstall,一个是GIS Server PostInstall, 一个是Web Application PostInstall. GIS Server PostInstall因为在安装过程中自动弹出,所以一般都会做,不会忘记。而Web Application PostInstall是需要自己主动去做的,所以很多人都会忘记做这个。而Web Application PostInstall没有做的后果就是以internet方式连接arcgis server的服务都会连接不上。
3 Manager登录不进去问题
这个问题去bbs中找帖子
4 ArcCatalog中连接不上GIS Server(远程)
ArcCatalog不能连接远程的GIS Server,请参照这篇文章,http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=29385&ESRISessionID=rrS2%5FCJU5rYOMy2DOvWMF9iLluSVV76gqoqcgE0XKW4IFBedQVsXqz2eQJxBkQ%3D%3D
5 ArcSom和ArcSoc分开安装
ArcGIS Server的自定义安装面板中可以把ArcSom和ArcSoc进行分开安装的,具体步骤参考ArcSOM和ArcSOC分开部署步骤。
6 一个Service的instancs就代表中进程中的一个ArcSoc.exe吗?
不一定,如果在服务属性中的孤立性设置为高孤立性的时候,那么一个instances就代表一个ArcSoc.exe,如果设置为低孤立性的时候,就不一定了。
开发问题
1 到底能不能使用new关键字来创建对象?
这是我们在开发ArcGIS Server过程中经常遇到的,也是我们一直在强调的,从9.0,9.1开始就一直强调,不过9.2的情况和9.2以前的版本还有所不同,因为9.2版本中ADF级别多了很多类,这些类是可以使用new关键字来创建的,但是涉及到服务端的com组件的时候还是不能使用new关键字,都需要使用ServerContext的createobject来实现。
2 Web Application中看不到图片的问题
这是因为没有在Web App中指定连接用户引起的,有两种方式可以来为Web App添加用户名和密码。
A 在vs2005的解决方案管理器中,在相应的网页名称点右键,点击Add ArcGIS Identity
在对话框中输入连接GIS Server的用户名,密码,和机器名称。
B 直接在Web App的Web.Config中添加明码的identity标签,里面指定用户名和密码。
格式如下:
<Identity impers userName = "username" password = "password">
为什么需要添加ArcGIS Identify呢?我想了一下,也查了一些资料,问题可以在于:缺省情况下,ASP.NET应用程序默认以本机的ASPNET帐号运行,该帐号属于普通用户组,权限受到一定的限制,以保障ASP.NET应用程序运行的安全。但是有时需要某个ASP.NET应用程序或者程序中的某段代码执行需要特定权限的操作,这时就需要给该程序或相应的某段代码赋予某个帐号的权限以执行该操作,这种方法称之为身份模拟(Impersonation)。
我们在VS的解决方案中右击添加ArcGIS Identify就会在<web.config>中添加 <identity>。此时,你就可以为你的ASP Net模拟可使用ArcGIS Server对象的一个帐号。如果Post Installer用的一个帐号那就简单了,如果按照默认的Post过程,创建ArcGISSOM,ArcGIS SOC帐户以及ArcGIS WebServices。然后直接在<identify> 中加ArcGIS WebServices帐户时会出现对.Net 2.0下的访问权限够,这时候,你又得去添加权限,比较麻烦,还是单一用户Post比较好。
3 ZoomLevel控件为什么不能使用ZoomLevel控件只有当地图使用了地图缓存的情况下才会出现。
4 地图缓存生成不完整怎么办?地图缓存是否可以移动?
地图缓存如果因为断电或别的原因没有生成完毕就中止了,只需要进行update就可以,没有必要全部重新做,而且做好的地图缓存可以移动,只要服务的名称和原来的一致,重新启动arcgis server的服务之后就会生效。
5 编辑任务EditorTask控件为什么不能使用
EditorTask控件是adf中提供的,它的使用条件是这样的:
a 需要使用的是ArcGIS Server Local方式连接的服务
b shapefile和file gdb, personal gdb都不能被EditorTask进行编辑
c 虽然池化和非池化的服务都可以被EditorTaks编辑,但是对于池化服务,只有使用非版本的数据的时候才可以编辑。对于非池化的服务,则版本和非版本的数据都可以被编辑。
6 ArcGIS Server Internet连接方式和ArcGIS Server Local连接方式有什么不同?是否ArcGIS Server Internet是远程连接,ArcGIS Server Local是本地连接?
ArcGIS Server Internet方式去连接GIS Server的时候,就相当于去连接标准的web service, 因此只有这些web service暴露出来的webmethod才可以调用,因此通过ArcGIS Server Internet方式去连接得到某个服务的时候所能得到的功能是很有限的。
ArcGIS Server Local方式去连接GIS Server,这个时候才可以使用后台强大的ao组件,也就是才能远程调用arcgis server提供的远程的ao组件,才能实现诸如数据的编辑等强大的功能。
因此,ArcGIS Server Internet和ArcGIS Server Local不能简单的理解为就是本机连接或者是远程连接。
7 GraphicsLayer中的Graphics支持栅格图片吗?
不支持
8 MapResourceManager控件中添加了两个服务,为什么只能看到一个?
原因可能有两个,一个是两个服务坐标不匹配,另外一个是上面一个服务没有设置为背景透明。
9 池化和非池化服务对于编辑功能的区别?
池化服务和非池化服务都可以进行编辑,但是池化服务的编辑没有Redo和Undo的功能,而非池化服务的话功能则是最齐全的。
10 Map控件的refresh和refreshresource有什么区别?
Refresh是刷新Map控件中的所有服务的,而refreshresouce是刷新制定服务的,如
map中只有一个的服务的时候效果是一样的。
11 Map控件的ImageBlendingMode属性中的Brower和WebTier有什么区别?
Brower是指把多个服务的图片直接传到客户端再进行容易融合。
WebTier是指把多个服务的图片在web server上融合之后传送到客户端。
12 服务启动的情况下,我更改了mxd的内容,是否需要重新启动才能起作用?
需要重新启动。
13 No-cached服务和Cached服务可以同时使用吗?
可以的,在组织服务的时候,可以把静态不太改变的背景数据组织成一个服务,并为它做cache,要经常改变的数据组织成一个服务,不做cache,两个服务在同一应用中使用,通过这种方式也可以提高客户端的体验感受。
14 ArcGIS Server 9.2 中为什么不使用webmap,webpagelayout类了?
ArcGIS Server 9.2和9.1的adf框架有很大的差别,9.2中为了支持多种数据源,所使用的控件已经和9.1版本完全不一样了,因此在新的框架下已经不在使用webmap,webpagelayou了,如果您是熟悉9.1的用户,要学习新的adf框架中的内容。
15 ArcGIS Server9.2 adf中的各种控件所使用的脚本放在什么地方?
ArcGIS Server9.2的各种控件所使用到的脚本文件默认都放在C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript目录下,您可以打开来看,以便更深入了解adf的框架.
16 我更改了C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本,为什么不起作用?
ArcGIS Server9.2 中的各种控件默认情况下是使用嵌入的脚本,默认的情况下并不是调用C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本,但嵌入的脚本是和C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本一致的。每个控件都会有一个UseDefaultWebResouces的属性,当把这个属性设置为false的时候,控件才会去调用C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本,这样你更改的脚本文件才会起作用。
http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=15966&extra=page%3D1