Bagikan melalui


AsyncOperation.UserSuppliedState Properti

Definisi

Mendapatkan atau mengatur objek yang digunakan untuk mengidentifikasi operasi asinkron secara unik.

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

Nilai Properti

Objek status diteruskan ke pemanggilan metode asinkron.

Contoh

Contoh kode berikut menunjukkan penggunaan UserSuppliedState untuk melacak masa pakai operasi asinkron. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk System.ComponentModel.AsyncOperationManager kelas .

// This method cancels a pending asynchronous operation.
public void CancelAsync(object taskId)
{
    AsyncOperation asyncOp = userStateToLifetime[taskId] as AsyncOperation;
    if (asyncOp != null)
    {   
        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

Keterangan

Jika kelas Anda mendukung beberapa metode asinkron atau beberapa pemanggilan metode asinkron tunggal, klien akan memerlukan cara untuk menentukan tugas asinkron mana yang meningkatkan peristiwa. Metode Anda MethodNameAsync harus mengambil parameter jenis Object yang akan bertindak sebagai ID tugas. Anda akan menggunakan ID tugas ini ketika Anda memanggil AsyncOperationManager.CreateOperationmetode , dan ini akan mengaitkan ID tugas klien dengan pemanggilan tertentu dari operasi asinkron Anda. ID tugas ini tersedia untuk implementasi Anda melalui UserSuppliedState properti .

Perhatian

Kode klien harus berhati-hati untuk memberikan nilai unik untuk UserSuppliedState properti . ID tugas yang tidak unik dapat menyebabkan implementasi Anda melaporkan kemajuan dan peristiwa lain dengan tidak benar. Kode Anda harus memeriksa ID tugas yang tidak unik dan menaikkan ArgumentException jika terdeteksi.

Berlaku untuk

Lihat juga