Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 Anda tidak melakukannya, 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 kerja lingkungan dan pengaturan tahap.
Memungkinkan komponen untuk mengambil pesan dan pabrik pesan. Dengan pabrik-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 jalur pemrosesan kecuali perakit dan pembongkar mengimplementasikan antarmuka ini untuk menerima pesan dari mesin BizTalk Server untuk diproses dan mengirimkan kembali pesan yang telah diproses 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 dokumen masuk pInMsg. |
| GetNext | Mendapatkan pesan berikutnya dari kumpulan pesan yang dihasilkan dari eksekusi pembongkar. Mengembalikan NULL jika tidak ada pesan lagi. |
Jika Anda menulis komponen pembongkar 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 tidak sesuai, atur BTS.MessageDestination = "SuspendQueue" dan kembalikan pesan di GetNext().
Jika pesan tersebut baik, atur BTS.SuspendMessageOnRoutingFailure = True dan kembalikan pesan dalam GetNext().
IAssemblerComponent
Komponen perakitan adalah komponen alur yang menerima beberapa pesan pada input dan menghasilkan satu pesan pada output. Komponen perakitan digunakan untuk menghimpun dokumen individual ke dalam batch pengiriman pesan.
Nota
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 waktu proses.
| Metode | Deskripsi |
|---|---|
| TambahkanDocument | Menambahkan pInMsg dokumen ke daftar pesan yang akan disertakan dalam pertukaran. |
| Merakit | Membangun pertukaran data dari pesan yang ditambahkan oleh metode sebelumnya. Mengembalikan penunjuk ke pesan rakitan. |
IProbeMessage
Komponen alur apa pun (umum, perakitan, atau pembongkaran) dapat mengimplementasikan IProbeMessage jika memerlukan fungsionalitas pemeriksaan pesan. Komponen penganalisis digunakan dalam tahap tahapan proses yang memiliki mode eksekusi FirstMatch. Dalam tahap seperti itu, BizTalk Server memberikan pesan kepada komponen, dan metode Probe memeriksa awal pesan untuk menentukan apakah komponen mengenali format pesan.
| Metode | Deskripsi |
|---|---|
| |
Metode ini mengambil pesan pInMsg, dan mengembalikan True jika format dikenali atau False 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 XPath 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 lingkungan Perancang Alur.
| Metode | Deskripsi |
|---|---|
| Ikon | Menyediakan ikon yang terkait dengan komponen ini. |
| Memvalidasi | Perancang Alur 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 LAYANAN API pengembang.
Lihat Juga
Mengembangkan Komponen Alur Kustom
CustomComponent (Sampel Server BizTalk)