ISynchronizeInvoke Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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:
Secara asinkron, dengan menggunakan BeginInvoke metode . BeginInvoke memulai proses dan kemudian segera kembali. Gunakan EndInvoke untuk menunggu hingga proses dimulai dengan BeginInvoke selesai.
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. |