Bagikan melalui


ISynchronizeInvoke Antarmuka

Definisi

Menyediakan cara untuk menjalankan delegasi secara sinkron atau asinkron.

public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
Turunan

Keterangan

Antarmuka ISynchronizeInvoke menyediakan komunikasi sinkron dan asinkron antara objek tentang terjadinya suatu peristiwa. Objek yang mengimplementasikan antarmuka ini dapat menerima pemberitahuan bahwa suatu peristiwa telah terjadi, dan mereka dapat merespons kueri tentang peristiwa tersebut. Dengan cara ini, klien dapat memastikan bahwa satu permintaan telah diproses sebelum mereka mengirimkan permintaan berikutnya yang tergantung pada penyelesaian permintaan pertama.

Kelas ini ISynchronizeInvoke menyediakan dua cara untuk memanggil proses:

  1. Secara asinkron, dengan menggunakan BeginInvoke metode . BeginInvoke memulai proses dan kemudian segera kembali. Gunakan EndInvoke untuk menunggu hingga proses dimulai dengan BeginInvoke selesai.

  2. Secara sinkron, dengan menggunakan Invoke metode . Invoke memulai proses, menunggu hingga selesai, lalu kembali. Gunakan Invoke saat utas utama kontrol berbeda dari utas panggilan untuk marshal panggilan ke utas yang tepat.

Catatan

Atribut HostProtectionAttribute yang diterapkan ke kelas ini memiliki nilai properti berikutResources: | SynchronizationExternalThreading . HostProtectionAttribute tidak memengaruhi aplikasi desktop (yang biasanya dimulai dengan mengklik dua kali ikon, mengetik perintah, atau memasukkan URL di browser). Untuk informasi selengkapnya, lihat HostProtectionAttributekelas atau SQL Server Atribut Pemrograman dan Perlindungan Host.

Properti

InvokeRequired

Mendapatkan nilai yang menunjukkan apakah pemanggil harus memanggil Invoke(Delegate, Object[]) saat memanggil objek yang mengimplementasikan antarmuka ini.

Metode

BeginInvoke(Delegate, Object[])

Secara asinkron menjalankan delegasi pada utas yang membuat objek ini.

EndInvoke(IAsyncResult)

Menunggu hingga proses dimulai dengan panggilan BeginInvoke(Delegate, Object[]) selesai, lalu mengembalikan nilai yang dihasilkan oleh proses.

Invoke(Delegate, Object[])

Secara sinkron menjalankan delegasi pada utas yang membuat objek ini dan marshals panggilan ke alur pembuatan.

Berlaku untuk

Lihat juga