AsyncOperation.UserSuppliedState Eigenschap

Definitie

Hiermee wordt een object opgehaald of ingesteld dat wordt gebruikt om een asynchrone bewerking uniek te identificeren.

public:
 property System::Object ^ UserSuppliedState { System::Object ^ get(); };
public object UserSuppliedState { get; }
member this.UserSuppliedState : obj
Public ReadOnly Property UserSuppliedState As Object

Waarde van eigenschap

Het statusobject dat is doorgegeven aan de aanroep van de asynchrone methode.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u UserSuppliedState de levensduur van asynchrone bewerkingen kunt bijhouden. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de System.ComponentModel.AsyncOperationManager klasse.

// This method cancels a pending asynchronous operation.
public void CancelAsync(object taskId)
{
    if (userStateToLifetime[taskId] is AsyncOperation)
    {
        lock (userStateToLifetime.SyncRoot)
        {
            userStateToLifetime.Remove(taskId);
        }
    }
}
' This method cancels a pending asynchronous operation.
Public Sub CancelAsync(ByVal taskId As Object)

    Dim obj As Object = userStateToLifetime(taskId)
    If (obj IsNot Nothing) Then

        SyncLock userStateToLifetime.SyncRoot

            userStateToLifetime.Remove(taskId)

        End SyncLock

    End If

End Sub

Opmerkingen

Als uw klasse meerdere asynchrone methoden of meerdere aanroepen van één asynchrone methode ondersteunt, hebben clients een manier nodig om te bepalen welke asynchrone taak gebeurtenissen aan het genereren is. Uw MethodNameAsync methode moet een parameter van het type Object gebruiken die als taak-id fungeert. U gebruikt deze taak-id wanneer u de AsyncOperationManager.CreateOperationmethode aanroept en hiermee wordt de taak-id van de client gekoppeld aan een bepaalde aanroep van uw asynchrone bewerking. Deze taak-id wordt beschikbaar gesteld voor uw implementatie via de UserSuppliedState eigenschap.

Caution

Clientcode moet voorzichtig zijn om een unieke waarde voor de UserSuppliedState eigenschap op te geven. Niet-unieke taak-id's kunnen ertoe leiden dat uw implementatie de voortgang en andere gebeurtenissen onjuist rapporteert. Uw code moet controleren op een niet-unieke taak-id en een ArgumentException als deze is gedetecteerd.

Van toepassing op

Zie ook