在接收适配器被消息传送引擎实例化后,即刻由引擎初始化,并调用用于 IBTTransportControl 的 QueryInterface。 然后,它调用 IBTTransportControl。初始化 传入适配器的传输代理,适配器保留在成员变量中。 接下来,引擎调用 QueryInterface for IPersistPropertyBag。 这是一个可选接口;如果适配器实现了该接口,处理程序配置将在调用 Load 方法时传递给适配器。 初始化接收适配器的最后阶段涉及将终结点配置传递给适配器。 在此阶段,引擎为每个活动终结点调用 IBTTransportConfig.AddReceiveEndpoint 一次,传入终结点的 URI、终结点的适配器特定配置以及该终结点的 BizTalk 配置。
下图说明了此 API 调用序列。 适配器实现以蓝色显示的接口。
实现提示: 通常,适配器不应在调用(如 IBTTransportControl.Initialize、 IPersistPropertyBag.Load 和 IBTTransportConfig.AddReceiveEndpoint)中阻止消息引擎。 在这些调用中执行过多处理可能会对服务启动时间产生负面影响。
在服务启动时会创建具有一个或多个关联接收位置的所有接收适配器。 所有接收适配器都是异步的,支持批处理。 它们可以在内部处理或隔离。 有关接收适配器变量的其他信息,请参阅 适配器变量。