1 gis server 简单的说,gis server是一个管理server object manager 和 container的服务器。 
 
2 server object manager 是运行在gis server上的一个服务,管理在server object container 中运行的server object。 
 
3 server object container 是一个进程,可以运行在一台或多台机器上,server object 就运行在这个进程之中。 
 
4 server object 分为mapserver和geocodeserver两种,mapserver主要是用来发布地图,geocodeserver是用来进行地理定位。 
 
5 pooled server object 池式的,池式的server object 提前构造,实例能被多个应用程序对话共享,返回池中的实例必须复原,进行stateless(无状态的)使用。 
 
6 non-pooled server object 非池式的,server object 仅能为一个应用程序对话所使用,使用时,创建一个server object的实例,使用完毕后,server object返回gis server,实例销毁。对 gis server 进行 stateful(状态)使用。 
 
7 arcgis server有3类编程接口: 
 
   server api:server api是arcobjects的部分类库,用来连接gis server,使用server object。 
 
  .net web controls 
 
   java web controls 
 
   web controls 是分别针对不同服务器程序开发平台而言。 
 
这些天在看这个东西,以前没学过AO,现在看的头大了,痛苦。 
 

以下zz 
 
服务器上下文( Server Context):一个服务器上下文是运行一组服务器对象的服务器上的保留空间。可以将服务器上下文想象成一个进程,由运行服务器对象的服务器管理。服务器上下文提供了一种在相同空间和“进程”中创建对象的方法,并作为一个运行的服务器对象,在同一个服务器上下文中工作的对象合作更好。 
 
1) 连接到GIS Server 
 
服务器API 提供GISServerConnection 对象完成与GIS Server 的连接。GISServerConnec2tion 提供一个接口IGISServerConnection ,该接口拥有一个用于连接GIS Server 的Connect 方 
 
法。 
 
IGISServerConnection connection = new IGISServerConnection () ; 
 
connection. Connect (winxp - sp2) ; 
 
Web 控件由一个ServerConnection 对象完成对GIS Server 的连接。 
 
ESRI. ArcGIS. Server . WebCont rols. ServerConnection connection = new ESRI. ArcGIS. Server . WebCont- rols.ServerConnection () ; 
 
connection. Host = "winxp - sp2" ; 
 
connection. Connect () ; 
 
客户端应用连接到服务器时,必须确保运行客户端的操作系统以ArcGIS Server 用户组或者ArcGIS Server 管理员组的成员身份登陆,否则连接返回错误。 
 
2) 获取服务器对象 
 
服务器对象由SOM 管理,并运行于服务器 
 
上下文中。通过服务器上下文获取服务器对象并 
 
在任务完成后释放服务器上下文。 
 
IServerObjectManager m_pSOM = connection. ServerObjectManager ; 
 
IServerContext m_pServerContext = m_pSOM. CreateServerContext (" testMap" , "MapServer" ) ; 
 
IMapServer pMapServer = m_pServerContext . ServerObject 
 
  as IMapServer ; 
 
m_pServerContext . ReleaseContext () ; 
 
3) 使用服务器对象 
 
通过服务器对象,可以引用其他相关细粒度的ArcObject s。以下代码示例获取服务器对象所提供的地图资源的第一个图层(矢量图层) 中所有要素的个数: 
 
IMapServerObject s pMapServerObject s = ( IMapServerObject s) pMapServer ; 
 
IMap pMap = pMapServerObject s. get_Map (pMapServer . 
 
  DefaultMapName) ; 
 
IFeatureLayer p FLayer = ( IFeatureLayer) pMap. get_Layer(0) ; 
 
IFeatureClass p FeatureClass = p FLayer . FeatureClass ; 
 
int i = p FeatureClass. FeatureCount (null) ;