ISynchronizeInvoke Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje způsob, jak synchronně nebo asynchronně spustit delegáta.
public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
- Odvozené
Poznámky
Rozhraní ISynchronizeInvoke poskytuje synchronní a asynchronní komunikaci mezi objekty o výskytu události. Objekty, které implementují toto rozhraní, mohou přijímat oznámení, že došlo k události, a mohou reagovat na dotazy týkající se události. Tímto způsobem můžou klienti před odesláním dalšího požadavku, který závisí na dokončení prvního požadavku, zajistit, aby se zpracoval jeden požadavek.
Třída ISynchronizeInvoke poskytuje dva způsoby, jak vyvolat proces:
Asynchronně pomocí BeginInvoke metody . BeginInvoke spustí proces a okamžitě se vrátí. Pomocí EndInvoke příkazu počkejte, dokud se proces neskončí BeginInvoke .
Synchronně pomocí Invoke metody . Invoke spustí proces, počká na jeho dokončení a pak se vrátí. Pokud se hlavní vlákno ovládacího prvku liší od volajícího vlákna, použijte Invoke k zařazování volání do správného vlákna.
Poznámka
Atribut HostProtectionAttribute použitý pro tuto třídu má následující Resources hodnotu vlastnosti: | SynchronizationExternalThreading . Atribut HostProtectionAttribute nemá vliv na běžné aplikace (které jsou obvykle spouštěny dvojitým kliknutím na ikonu, zadáním příkazu nebo zadáním adresy URL v prohlížeči). Další informace najdete v HostProtectionAttribute tématu třídy nebo SQL Server atributy programování a ochrany hostitele.
Vlastnosti
InvokeRequired |
Získá hodnotu označující, zda volající musí volat Invoke(Delegate, Object[]) při volání objektu, který implementuje toto rozhraní. |
Metody
BeginInvoke(Delegate, Object[]) |
Asynchronně spustí delegáta ve vlákně, které vytvořilo tento objekt. |
EndInvoke(IAsyncResult) |
Počká, dokud se proces zahájen voláním BeginInvoke(Delegate, Object[]) dokončí, a pak vrátí hodnotu vygenerovanou procesem. |
Invoke(Delegate, Object[]) |
Synchronně spustí delegáta ve vlákně, které vytvořilo tento objekt, a zařadí volání do vytvářeného vlákna. |