独立接收适配器的接口

独立接收适配器托管在进程空间中,而不是BizTalk Server进程。 独立接收适配器若要与消息引擎进行交互,需要在启动时注册自身,以便引擎可以配置和控制它。 适配器创建传输代理,查询接口 IBTTransportProxy,并调用 IBTTransportProxy.RegisterIsolatedReceiver 以向消息引擎注册其 IBTTransportConfig 回调接口。 此同步调用发生在适配器将其第一条消息提交到BizTalk Server之前。 这使消息引擎可以通过回调进入适配器,通知适配器哪些终结点是活动的,因而应该侦听上面的传入消息。 独立适配器必须实现以下接口:

  • IBTTransport

  • IBTTransportConfig

  • IBaseComponent

  • IPersistPropertyBag

    注册适配器需要适配器传递一个已配置并已启用的接收位置。 适配器的主机进程必须是 BizTalk Isolated Host Users 组的成员。 此外,还需查询该适配器以确保它具有正确的类 ID,并且运行在之前为该主机实例配置的计算机上。

    适配器成功注册到传输代理后,消息传送引擎通过分别调用 IPersistPropertyBag 接口的 Load 方法和 IBTTransportConfig 接口的 AddReceiveEndpoint 方法,将配置信息和其他接收位置传回适配器。

    当独立接收适配器结束消息处理并要终止时,它必须调用 IBTTransportProxy 接口的 TerminateIsolatedReceiver 方法。

    下图显示创建独立接收适配器时涉及到的对象交互。

    显示创建独立接收适配器所涉及的对象交互的图像。
    初始化独立接收适配器的工作流。

注意

建议适配器跟踪当前正在执行的请求以BizTalk Server。 适配器应阻止 Terminate 方法,直到工作计数达到零。 在接收端,这项工作包括尚未发布到BizTalk Server的任何未完成请求。 请注意,调用 Terminate 后,响应消息通常不会传递到接收适配器。 通常,适配器调用 Terminate 方法后,消息传送引擎不接受发布新消息的请求,但请求-响应对的响应消息除外。

注意

一个进程可以作为多个独立适配器实例的宿主,但是只能作为一个适配器的宿主。

另请参阅

适配器变量
开发接收适配器
实例化和初始化接收适配器
进程内接收适配器的接口
支持批处理的接收适配器的接口
支持批处理的事务性接收适配器的接口
同步请求-响应接收适配器的接口