Data source-specific APIs 编程中的常用概念

首先介绍几个概念:

Server Objects

一个服务器对象就是一个粗粒的ArcObject

l  MapServer展示地图文档

l  GeocodeServer展示定位器

 

能从一个服务器对象获得其它相关的对象:

MapServer –>Map àLayer

 

Server context

1)可以把Server context 是一个进程 (ArcSOC.exe)

2)作为访问server object ArcObjects的入口

3)需要小心地管理Server Context的生命周期

 

Data source-specific APIs 编程中的常用概念 

服务器对象的生命周期

普通步骤(COM应用程序)

1.  连接

2.  创建一个 context

3.  访问 server object

4.  释放 context

 

服务器对象存活在上下文中。

调用CreateServerContext来获得一个包含专门服务器对象的服务器上下文。

只要持有服务器上下文,服务器对象和所有相关的其它对象就是活动的,可以使用。

一旦释放了服务器上下文,就不能再使用服务器对象或从上下文中获得任何其它对象。

在池式的服务器对象/上下文情况下,即使释放了服务器上下文,服务器也将处理其他用户/会话的服务器对象/上下文请求。

 

Context之间传递对象

1)一个Context不可以直接使用在另一个Context中创建的对象

2)必须序列化对象

3)对象必须实现IPersistStream接口 (serializable)

4)使用 SaveObjectLoadObject方法

 

geocode servers context中保存点对象

Dim sPoint As String = geocodeContext.SaveObject(geocodedPoint)

 

map’s server context中装载点对象

 Dim mapPoint As IPoint = mapContext.LoadObject(sPoint)

你可能感兴趣的:(编程,应用服务器,活动)