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 obdržet oznámení, že došlo k události, a mohou reagovat na dotazy týkající se události. Klienti tak můžou zajistit, aby jeden požadavek byl zpracován před odesláním dalšího požadavku, který závisí na dokončení prvního požadavku.
Třída ISynchronizeInvoke poskytuje dva způsoby volání procesu:
Asynchronně pomocí BeginInvoke metody. BeginInvoke spustí proces a vrátí okamžitě. Slouží EndInvoke k čekání na dokončení BeginInvoke procesu.
Synchronně pomocí Invoke metody. Invoke spustí proces, počká, až se dokončí, a vrátí se. Používá Invoke se, když se hlavní vlákno ovládacího prvku liší od volajícího vlákna pro zařazení 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 . Nemá HostProtectionAttribute vliv na desktopové aplikace (které se obvykle spouští poklikáním na ikonu, zadáním příkazu nebo zadáním adresy URL v prohlížeči). Další informace naleznete v HostProtectionAttribute tématu třídy nebo programování SYSTÉMU SQL Server a atributy ochrany hostitele.
Vlastnosti
| Name | Description |
|---|---|
| InvokeRequired |
Získá hodnotu určující, zda volající musí volat Invoke(Delegate, Object[]) při volání objektu, který implementuje toto rozhraní. |
Metody
| Name | Description |
|---|---|
| BeginInvoke(Delegate, Object[]) |
Asynchronně spustí delegáta ve vlákně, které vytvořilo tento objekt. |
| EndInvoke(IAsyncResult) |
Počká, až se proces spustí voláním BeginInvoke(Delegate, Object[]) , a vrátí hodnotu vygenerovanou procesem. |
| Invoke(Delegate, Object[]) |
Synchronně spustí delegáta ve vlákně, které vytvořil tento objekt, a zařadí volání do vytvářeného vlákna. |