ISynchronizeInvoke Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia sposób synchronicznego lub asynchronicznego wykonywania delegata.
public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
- Pochodne
Uwagi
Interfejs ISynchronizeInvoke zapewnia synchroniczną i asynchroniczną komunikację między obiektami dotyczącymi wystąpienia zdarzenia. Obiekty implementujące ten interfejs mogą otrzymywać powiadomienia o wystąpieniu zdarzenia i mogą odpowiadać na zapytania dotyczące zdarzenia. W ten sposób klienci mogą upewnić się, że jedno żądanie zostało przetworzone przed przesłaniem kolejnego żądania, które zależy od ukończenia pierwszego.
Klasa ISynchronizeInvoke udostępnia dwa sposoby wywoływania procesu:
Asynchronicznie przy użyciu BeginInvoke metody . BeginInvoke uruchamia proces, a następnie zwraca natychmiast. Użyj EndInvoke polecenia , aby poczekać na zakończenie BeginInvoke procesu.
Synchronicznie przy użyciu Invoke metody . Invoke uruchamia proces, czeka, aż zostanie ukończony, a następnie powróci. Użyj Invoke polecenia , gdy główny wątek kontrolki różni się od wątku wywołującego, aby przeprowadzić wywołanie do odpowiedniego wątku.
Uwaga
Atrybut HostProtectionAttribute zastosowany do tej klasy ma następującą Resources wartość właściwości: | SynchronizationExternalThreading . Atrybut HostProtectionAttribute nie ma wpływu na aplikacje pulpitu (które typowo są uruchamiane przez dwukrotne kliknięcie ikony, wpisanie polecenia albo wprowadzenie adresu URL w przeglądarce). Aby uzyskać więcej informacji, zobacz klasę HostProtectionAttribute lub SQL Server Programowanie i atrybuty ochrony hosta.
Właściwości
InvokeRequired |
Pobiera wartość wskazującą, czy obiekt wywołujący musi wywołać wywołanie Invoke(Delegate, Object[]) podczas wywoływania obiektu, który implementuje ten interfejs. |
Metody
BeginInvoke(Delegate, Object[]) |
Asynchronicznie wykonuje delegata w wątku, który utworzył ten obiekt. |
EndInvoke(IAsyncResult) |
Czeka na zakończenie procesu, BeginInvoke(Delegate, Object[]) a następnie zwraca wartość wygenerowaną przez proces. |
Invoke(Delegate, Object[]) |
Synchronicznie wykonuje delegata w wątku, który utworzył ten obiekt i wykonuje wywołanie do wątku tworzenia. |