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:
Buat aliran input dapat dicari dengan membungkusnya dalam VirtualStream().
Di GetNext(), miliki logika untuk menentukan kapan pesan buruk. Jika pesan buruk, atur BTS. MessageDestination = "SuspendQueue" dan kembalikan pesan di GetNext().
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)