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.
SqlCommand Dapat dikonfigurasi untuk menghasilkan pemberitahuan ketika data berubah setelah diambil dari server dan kumpulan hasil akan berbeda jika kueri dijalankan lagi. Ini berguna untuk skenario di mana Anda ingin menggunakan antrean pemberitahuan kustom di server atau ketika Anda tidak ingin mempertahankan objek langsung.
Membuat Permintaan Pemberitahuan
Anda dapat menggunakan SqlNotificationRequest objek untuk membuat permintaan pemberitahuan dengan mengikatnya ke SqlCommand objek. Setelah permintaan dibuat, Anda tidak lagi memerlukan objek tersebut SqlNotificationRequest . Anda dapat memeriksa antrean untuk notifikasi apa pun dan memberikan respons yang sesuai. Pemberitahuan dapat terjadi bahkan jika aplikasi dimatikan dan kemudian dimulai ulang.
Ketika perintah dengan pemberitahuan terkait dijalankan, setiap perubahan pada kumpulan hasil asli akan memicu pengiriman pesan ke antrean SQL Server yang dikonfigurasi dalam permintaan pemberitahuan.
Cara Anda melakukan polling pada antrean SQL Server dan menginterpretasikan pesan adalah spesifik untuk aplikasi Anda. Aplikasi ini bertanggung jawab untuk melakukan polling antrean dan bereaksi berdasarkan konten pesan.
Nota
Saat menggunakan permintaan pemberitahuan SQL Server dengan SqlDependency, buat nama antrean Anda sendiri alih-alih menggunakan nama layanan default.
Tidak ada elemen keamanan sisi klien baru untuk SqlNotificationRequest. Ini terutama fitur server, dan server telah membuat hak istimewa khusus yang harus diminta pengguna untuk meminta pemberitahuan.
Contoh
Fragmen kode berikut menunjukkan cara membuat SqlNotificationRequest dan mengaitkannya dengan SqlCommand.
' Assume connection is an open SqlConnection.
' Create a new SqlCommand object.
Dim command As New SqlCommand( _
"SELECT ShipperID, CompanyName, Phone FROM dbo.Shippers", connection)
' Create a SqlNotificationRequest object.
Dim notificationRequest As New SqlNotificationRequest()
notificationRequest.id = "NotificationID"
notificationRequest.Service = "mySSBQueue"
' Associate the notification request with the command.
command.Notification = notificationRequest
' Execute the command.
command.ExecuteReader()
' Process the DataReader.
' You can use Transact-SQL syntax to periodically poll the
' SQL Server queue to see if you have a new message.
// Assume connection is an open SqlConnection.
// Create a new SqlCommand object.
SqlCommand command=new SqlCommand(
"SELECT ShipperID, CompanyName, Phone FROM dbo.Shippers", connection);
// Create a SqlNotificationRequest object.
SqlNotificationRequest notificationRequest=new SqlNotificationRequest();
notificationRequest.id="NotificationID";
notificationRequest.Service="mySSBQueue";
// Associate the notification request with the command.
command.Notification=notificationRequest;
// Execute the command.
command.ExecuteReader();
// Process the DataReader.
// You can use Transact-SQL syntax to periodically poll the
// SQL Server queue to see if you have a new message.