Sdílet prostřednictvím


ISynchronizeInvoke Rozhraní

Definice

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:

  1. Asynchronně pomocí BeginInvoke metody . BeginInvoke spustí proces a okamžitě se vrátí. Pomocí EndInvoke příkazu počkejte, dokud se proces neskončí BeginInvoke .

  2. 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.

Platí pro

Viz také