AsyncOperation.UserSuppliedState Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- AsyncOperationManager
- Aanbevolen procedures voor beheerd draadbeheer
- Overzicht van Asynchrone patronen gebaseerd op gebeurtenissen