Menjalankan Logika Bisnis Selama Sinkronisasi Penggabungan

Berlaku untuk:SQL Server

Kerangka kerja handler logika bisnis memungkinkan Anda menulis rakitan kode terkelola yang dipanggil selama proses sinkronisasi penggabungan. Assembly mencakup logika bisnis yang dapat merespons sejumlah kondisi selama sinkronisasi: perubahan data, konflik, dan kesalahan. Kerangka kerja business logic handler menyediakan model pemrograman sederhana, dan data yang diberikan proses penggabungan ke assembly Anda berbentuk set data ADO.NET, sehingga Anda dapat menggunakan pengetahuan ADO.NET daripada mempelajari antarmuka proprietary. Untuk informasi selengkapnya tentang pemrograman penangan logika bisnis, lihat:

Penggunaan untuk Penangan Logika Bisnis

Proses sinkronisasi penggabungan dapat memanggil penangan logika bisnis untuk melakukan:

  • Penanganan perubahan khusus

  • Resolusi konflik kustom

  • Resolusi kesalahan kustom

Catatan

Handler logika bisnis yang Anda tentukan dijalankan untuk setiap baris yang disinkronkan. Logika kompleks dan panggilan ke aplikasi atau layanan jaringan lain dapat memengaruhi kinerja.

Penanganan Perubahan Khusus

Handler logika bisnis dapat dipanggil selama pemrosesan perubahan data yang tidak saling bertentangan dan dapat melakukan satu dari tiga tindakan berikut:

  • Menolak data

    Ini berguna untuk aplikasi yang tidak ingin perubahan disebarkan ke atau dari Pelanggan tertentu. Misalnya, seorang administrator dapat menyaring operasi penyisipan yang tidak termasuk dalam partisi Subscriber, atau mungkin menolak operasi penghapusan yang dilakukan pada Subscriber. Sebagai contoh lain, aplikasi dapat menolak pesanan yang dimasukkan pada sisi Pelanggan karena stok tidak lagi tersedia.

  • Menerima data

    Ini berguna untuk aplikasi di mana perlu untuk meninjau perubahan data yang dibuat di Penerbit atau Pelanggan sebelum memungkinkannya disebarluaskan. Misalnya, aplikasi tingkat menengah dapat memeriksa pesanan baru yang masuk dari lapangan dan berintegrasi dengan proses alur kerja pengadaan di tingkat menengah.

  • Menerapkan data kustom

    Ini berguna untuk aplikasi yang perlu mengambil alih nilai atau operasi data tertentu. Misalnya, aplikasi dapat mengubah penghapusan baris menjadi pembaruan khusus yang mengatur kolom status di baris ke nilai "dihapus" lalu melacak identitas klien yang melakukan penghapusan. Ini mungkin berguna untuk tujuan audit atau alur kerja.

Penyelesaian Konflik Khusus

Replikasi penggabungan menyediakan deteksi dan resolusi konflik, memungkinkan Anda menerima strategi resolusi default atau memilih resolusi kustom untuk konflik. Untuk informasi selengkapnya, lihat Deteksi dan Resolusi Konflik Replikasi Gabungan Tingkat Lanjut. Penangan logika bisnis dapat dipanggil selama pemrosesan perubahan data yang bertentangan dan dapat melakukan salah satu dari dua tindakan:

  • Terima resolusi default

    Ini berguna untuk aplikasi yang mungkin perlu meninjau konflik, melakukan tindakan tambahan, dan mungkin mencatat pesan log konflik kustom.

  • Melakukan resolusi kustom

    Ini berguna untuk aplikasi yang mungkin perlu memilih nilai data yang khusus untuk logika bisnis mereka dan menyediakan proses sinkronisasi dengan himpunan data kustom ini. Misalnya, aplikasi dapat menyediakan versi baru baris yang menang dengan menggabungkan nilai dari himpunan data Penerbit dan Pelanggan.

Resolusi Kesalahan Kustom

Logika kustom dapat dipanggil selama penyebaran perubahan yang mengakibatkan kesalahan. Logika dapat melakukan salah satu dari dua tindakan:

  • Terima resolusi kesalahan default

    Ini berguna untuk aplikasi yang mungkin perlu meninjau kesalahan dan melakukan tindakan tambahan dan mungkin mencatat pesan log kesalahan kustom.

  • Terima resolusi kesalahan kustom

    Ini berguna untuk aplikasi yang mungkin perlu memilih nilai data yang khusus untuk logika bisnis mereka dan menyediakan proses sinkronisasi dengan himpunan data kustom ini. Misalnya, jika proses replikasi mengalami pelanggaran kunci duplikat, handler logika bisnis dapat memberikan versi baru perubahan data di mana kunci tidak akan lagi bertentangan. Perubahan yang dilakukan pada Publisher dan Subscriber kemudian dapat tetap tersimpan di database, dan proses replikasi tidak perlu mengompensasi kegagalan operasi insert dengan operasi delete.

Skenario Penerapan untuk Handler Logika Bisnis

Handler logika bisnis dapat diterapkan di:

  • The Distributor. Gunakan langganan push agar logika bisnis dijalankan di Distributor.

  • Pelanggan. Gunakan langganan pull agar logika bisnis dijalankan di subscriber.

  • Server Layanan Informasi Internet (IIS) jika sinkronisasi Web digunakan. Gunakan langganan pull yang disinkronkan dengan sinkronisasi Web, dan penangan logika bisnis akan dijalankan di Server IIS.