Bagikan melalui


Menggunakan Antarmuka Alur

Komponen alur adalah komponen .NET atau COM yang mengimplementasikan serangkaian antarmuka yang telah ditentukan sebelumnya untuk interaksi dengan BizTalk Messaging Engine. Tergantung pada fungsionalitas komponen, antarmuka yang berbeda harus diimplementasikan. Topik ini membahas antarmuka ini dan beberapa metodenya.

Peringatan

Jika Anda membangun komponen alur kustom menggunakan COM, Anda harus mengonfigurasi komponen Anda untuk menggunakan model Multi-Threaded Apartment (MTA). Jika tidak, pemanggilan komponen Anda akan gagal dengan kesalahan E_NOINTERFACE.

IPipelineContext

Semua komponen alur dapat menggunakan metode IPipelineContext untuk mengakses semua antarmuka khusus pemrosesan dokumen. Antarmuka IPipelineContext menyediakan fungsionalitas berikut:

  • Memungkinkan komponen untuk mengambil alur sekitar dan pengaturan tahapan.

  • Memungkinkan komponen untuk mengambil pabrik pesan dan pesan. Dengan pabrik ini, komponen dapat membuat berbagai objek yang diperlukan untuk eksekusi komponen.

  • Memungkinkan komponen untuk mengambil spesifikasi dokumen. Spesifikasi dokumen adalah skema XSD ditambah anotasi tambahan.

IBaseComponent

Semua komponen alur perlu mengimplementasikan antarmuka ini untuk memberikan informasi dasar tentang komponen.

IComponent

Semua komponen alur kecuali perakitan dan pemisah mengimplementasikan antarmuka ini untuk mendapatkan pesan dari mesin BizTalk Server untuk diproses dan untuk meneruskan pesan yang diproses kembali ke mesin.

Menjalankan. Metode yang dipanggil oleh mesin untuk meneruskan pesan input ke komponen dan mengambil pesan yang diproses dari komponen.

IPropertyBag, IPersistPropertyBag

Komponen alur perlu mengimplementasikan IPersistPropertyBag untuk menerima informasi konfigurasinya. Antarmuka dan IPropertyBag ini adalah antarmuka standar. Untuk informasi selengkapnya tentang antarmuka ini, lihat dokumentasi Microsoft .NET Framework Software Development Kit (SDK).

IDisassemblerComponent

Komponen pembongkaran adalah komponen alur yang menerima satu pesan pada input dan menghasilkan nol atau lebih pesan pada output. Komponen pembongkaran digunakan untuk membagi pertukaran pesan menjadi dokumen individual. Komponen pembongkar harus menerapkan metode antarmuka IDisassemblerComponent untuk mendapatkan pesan dari BizTalk Server untuk diproses dan meneruskan dokumen yang dibongkar kembali ke BizTalk Server.

Metode Deskripsi
Membongkar Melakukan pembongkaran pInMsg dokumen masuk.
GetNext Mendapatkan pesan berikutnya dari kumpulan pesan yang dihasilkan dari eksekusi pemisah. Mengembalikan NULL jika tidak ada lagi pesan.

Jika Anda menulis komponen pembbongkar yang akan mendukung Pemrosesan Pertukaran yang Dapat Dipulihkan, Anda harus melakukan hal berikut:

  1. Buat aliran input dapat dicari dengan membungkusnya dalam VirtualStream().

  2. Di GetNext(), miliki logika untuk menentukan kapan pesan buruk. Jika pesan buruk, atur BTS. MessageDestination = "SuspendQueue" dan kembalikan pesan di GetNext().

  3. Jika pesannya bagus, atur BTS. SuspendMessageOnRoutingFailure = True dan kembalikan pesan di GetNext().

IAssemblerComponent

Komponen perakitan adalah komponen alur yang menerima beberapa pesan tentang input dan menghasilkan satu pesan pada output. Komponen perakitan digunakan untuk mengumpulkan dokumen individual ke dalam batch pertukaran pesan.

Catatan

Dalam rilis BizTalk Server ini, fungsionalitas perakitan tidak digunakan, sehingga BizTalk Server selalu meneruskan satu dokumen ke input komponen.

Komponen perakitan mengimplementasikan metode IAssemblerComponent yang dipanggil oleh mesin BizTalk Server pada durasi.

Metode Deskripsi
AddDocument Menambahkan pInMsg dokumen ke daftar pesan yang akan disertakan dalam pertukaran.
Rakit Membangun pertukaran dari pesan yang ditambahkan oleh metode sebelumnya. Mengembalikan penunjuk ke pesan yang dirakit.

IProbeMessage

Komponen alur apa pun (umum, perakitan, atau pembongkaran) dapat mengimplementasikan IProbeMessage jika memerlukan fungsionalitas pemeriksaan pesan. Komponen pemeriksaan digunakan dalam tahap alur yang memiliki mode eksekusi FirstMatch . Pada tahap seperti itu, BizTalk Server memberikan pesan kepada komponen, dan metode Probe memeriksa awal pesan untuk menentukan apakah komponen mengenali format pesan.

Metode Deskripsi
Probe Metode ini mengambil pesan pInMsg , dan mengembalikan True jika format dikenali atau Salah sebaliknya.

INamedItem

Ini adalah antarmuka pembantu untuk mengakses skema dokumen dari kode terkelola dan tidak terkelola.

INamedItemList

Ini adalah antarmuka pembantu untuk mengakses skema dokumen dari kode terkelola dan tidak terkelola.

IDocumentSpec

Komponen alur dapat menggunakan metode antarmuka IDocumentSpec untuk melakukan tindakan khusus dokumen, seperti memindahkan properti konten ke konteks dan kembali, mengakses skema dokumen, dan sebagainya.

Metode Deskripsi
DocType Mengembalikan tipe dokumen saat ini.
DocSpecName Mengembalikan nama spesifikasi dokumen saat ini.
GetSchemaCollection Mengembalikan daftar skema dokumen untuk dokumen saat ini.
GetBodyPath Mengembalikan JalurX ke simpul dalam dokumen tempat bagian isi dimulai.
GetDistinguishedPropertyAnnotationEnumerator Mengembalikan enumerator kamus dari semua anotasi properti bidang yang dibedakan.
GetPropertyAnnotationEnumerator Mengembalikan enumerator dari semua anotasi properti.

IComponentUI

Komponen alur harus mengimplementasikan antarmuka ini untuk digunakan dalam alur Designer lingkungan.

Metode Deskripsi
Ikon Menyediakan ikon yang terkait dengan komponen ini.
Memvalidasi Alur Designer memanggil metode ini sebelum kompilasi alur untuk memverifikasi bahwa semua properti konfigurasi diatur dengan benar.

Properti Ikon mengembalikan IntPtr. Contoh C# berikut menunjukkan cara mengembalikan IntPtr.

static   ResourceManager resManager = new ResourceManager("ResourceManager", Assembly.GetExecutingAssembly());  
...  
[Browsable(false)]  
public IntPtr Icon  
{  
   get  
   {  
      return ((Bitmap)resManager.GetObject("MyIcon")).GetHicon();  
   }  
}  

Untuk informasi selengkapnya, lihat Antarmuka IComponentUI (COM) dalam panduan UI dan referensi namespace API pengembang.

Lihat juga

Mengembangkan Komponen Alur Kustom
CustomComponent (Sampel BizTalk Server)