ISynchronizeInvoke Gränssnitt

Definition

Ger ett sätt att synkront eller asynkront köra ett ombud.

public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
Härledda

Kommentarer

Gränssnittet ISynchronizeInvoke tillhandahåller synkron och asynkron kommunikation mellan objekt om förekomsten av en händelse. Objekt som implementerar det här gränssnittet kan få meddelanden om att en händelse har inträffat och de kan svara på frågor om händelsen. På så sätt kan klienter se till att en begäran har bearbetats innan de skickar en efterföljande begäran som är beroende av slutförandet av den första.

Klassen ISynchronizeInvoke innehåller två sätt att anropa en process:

  1. Asynkront med hjälp BeginInvoke av metoden. BeginInvoke startar en process och returnerar sedan omedelbart. Använd EndInvoke för att vänta tills processen har startats av BeginInvoke slutförd.

  2. Synkront med hjälp Invoke av metoden. Invoke startar en process, väntar tills den har slutförts och returnerar sedan. Använd Invoke när kontrollens huvudtråd skiljer sig från den anropande tråden för att konvertera anropet till rätt tråd.

Note

Attributet HostProtectionAttribute som tillämpas på den här klassen har följande Resources egenskapsvärde:Synchronization | ExternalThreading . Påverkar HostProtectionAttribute inte skrivbordsprogram (som vanligtvis startas genom att dubbelklicka på en ikon, skriva ett kommando eller ange en URL i en webbläsare). Mer information finns i klassen HostProtectionAttribute eller SQL Server Programming and Host Protection Attributes.

Egenskaper

Name Description
InvokeRequired

Hämtar ett värde som anger om anroparen måste anropa Invoke(Delegate, Object[]) när ett objekt som implementerar det här gränssnittet anropas.

Metoder

Name Description
BeginInvoke(Delegate, Object[])

Asynkront kör ombudet på tråden som skapade det här objektet.

EndInvoke(IAsyncResult)

Väntar tills processen startades genom att anropa BeginInvoke(Delegate, Object[]) slutfört och returnerar sedan det värde som genereras av processen.

Invoke(Delegate, Object[])

Kör synkront ombudet i tråden som skapade det här objektet och konverterar anropet till den skapande tråden.

Gäller för

Se även