概念名词简介:
外接程序模型包含一系列的段,这些段组成负责外接程序和宿主之间所有通信的外接程序管线(也称为通信管线);
管线:在外接程序与外接程序宿主之间交换数据的段的对称通信模型
管线模型
宿主与外接程序区别:外接程序和宿主的区别仅在于宿主激活外接程序;
外接程序的发现:
宿主应用程序可以发现可用于它们的外接程序。发现包括两个任务:
-
将有关所有外接程序和管线段的信息注册到缓存文件中。
-
通过搜索缓存查找外接程序的指定宿主视图的外接程序。
宿主通常在启动、加载文档或用户请求时发现外接程序
外接程序的激活:
在已经使用发现方法并获得指定宿主视图的外接程序标记集合后,可以通过使用外接程序的标记来激活该集合中的外接程序
指定下列激活选项:
-
外接程序加载到的应用程序域。
-
向为外接程序创建的应用程序域授予的安全信任级别或权限集。
-
在其中激活外接程序的外部进程。这是一个高级外接程序开发选项
管线实现流程:
管线的实现很简单,我们先定义一个协定(Contract),之后分别定义外接程序和宿主的视图和适配器,最后定义外接程序(可以是多个)、宿主程序,这样我们的管线就定义好了,其中的每个环节都称作管线的管线段;
管线定义好之后,我们按照管线目录的要求(此目录是固有格式),把我们管线的各管线段程序集,拷到相应的目录下,之后把宿主程序.EXE和宿主视图程序集放在其管线根目录下,运行即可,呵呵简单吧!