客户端应用程序和搜索方法

 

上一次修改主题: 2005-05-06

Outlook 使用基于 MAPI 的搜索方法在 Exchange Server 2003 中进行搜索。如果开发自定义的客户端应用程序,则既可以使用基于 MAPI 的搜索方法,也可以使用基于 ExOLEDB 的搜索方法。要使用 ExOLEDB,应从以下几个 API 中进行选择:HTTP/DAV、协作数据对象 (CDO) 或 ActiveX 数据对象 (ADO)。

note注意:
不能使用基于 MAPI 的搜索方法来搜索约会或任务。

下表提供了可以用来在 Exchange Server 2003 中执行搜索的不同方法的详细信息。在该表中,“浅”指的是范围限于一个文件夹或一组特定文件夹的搜索。“深”指的是范围包含某个文件夹及其所有子文件夹的搜索。

Exchange Server 2003 中的可用协议所使用的搜索方法

API 或应用程序 范围 方法 创建搜索文件夹

MAPI

Restrict

FindRow

仅在内存中

Outlook(仅限于公用文件夹)

(MAPI 协议)

Restrict

Outlook(邮箱)

(MAPI 协议)

任意

SetSearchCriteria

CDO 1.2

(MAPI 协议)

任意

Restrict

CDO 2.x、CDO 3.x、ADO

(ExOLEDB)

浅(一个文件夹)

Restrict

CDO 2.x、CDO 3.x、ADO

(ExOLEDB)

深,或者具有多个文件夹的浅范围

SRestrict

SetSearchCriteria

临时

HTTP/DAV

(ExOLEDB)

任意

Search

是;可以嵌套

HTTP/DAV

(ExOLEDB)

任意

PropFind

使用 ExOLEDB 搜索时要记住的几点

要使用 ExOLEDB 方法搜索,必须为搜索构造一个 SQL 语句。当 Exchange Server 2003 处理此 SQL 语句时,会将该语句转换为与 MAPI 兼容的 SRestrict 结构。

使用 ExOLEDB 的进程只能运行在存放要搜索的数据的服务器上。这意味着搜索过程可能使 Exchange Server 2003 邮箱服务器或公用文件夹服务器的速度减慢。

使用 HTTP/DAV 搜索时要记住的几点

由于 HTTP/DAV 搜索在内部使用 ExOLEDB,因此其工作方式在大多数情况下与其他 ExOLEDB 搜索类似。一个例外是,当使用 HTTP/DAV PropFind 方法时,可以将某些搜索处理负载移至除 Exchange Server 2003 邮箱服务器或公用文件夹服务器以外的服务器上。

可以使用 HTTP/DAV 来创建嵌套的搜索文件夹。如果搜索现有的搜索文件夹,Exchange Server 2003 将在原始搜索文件夹中新建一个搜索文件夹。