Freigeben über


Instanziieren und Initialisieren eines Empfangsadapters

Ein Empfangsadapter wird unmittelbar nach seiner Instanziierung von der Messaging-Engine initialisiert. Die Engine ruft dazu die Methode QueryInterface für IBTTransportControl auf. Anschließend wird IBTTransportControl aufgerufen. Initialisieren Sie die Übergabe des Transportproxys des Adapters, den der Adapter in einer Membervariablen speichert. Als Nächstes ruft die Engine QueryInterface für IPersistPropertyBag auf. Dies ist eine optionale Schnittstelle. wenn der Adapter sie implementiert, wird die Handlerkonfiguration im Load-Methodenaufruf an den Adapter übergeben. In der letzten Initialisierungsphase des Empfangsadapters wird die Endpunktkonfiguration an den Adapter weitergegeben. Während dieser Phase ruft die Engine IBTTransportConfig.AddReceiveEndpoint einmal für jeden aktiven Endpunkt auf und übergibt den URI für den Endpunkt, die adapterspezifische Konfiguration für den Endpunkt und die BizTalk-Konfiguration für diesen Endpunkt.

In der folgenden Abbildung wird diese Folge von API-Aufrufen veranschaulicht. Der Adapter implementiert die in Blau dargestellten Schnittstellen.

Abbildung, die die Sequenz der API-Aufrufe zeigt.

Implementierungstipp: Im Allgemeinen sollten Adapter die Messaging-Engine nicht in Aufrufen wie IBTTransportControl.Initialize, IPersistPropertyBag.Load und IBTTransportConfig.AddReceiveEndpoint blockieren. Die Ausführung umfangreicher Verarbeitungsschritte in diesen Aufrufen kann sich nachteilig auf die Dienststartzeit auswirken.

Alle Empfangsadapter, die über einen oder mehrere Empfangsspeicherorte verfügen, werden zur Dienststartzeit erstellt. Alle Empfangsadapter sind asynchron und unterstützen die Batcherstellung. Sie können vom Typ "In-Process" oder "isoliert" sein. Weitere Informationen zu Empfangsadaptervariablen finden Sie unter Adaptervariablen.