IAsyncDisposable Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakmak için bir mekanizma sağlar.
public interface class IAsyncDisposable
public interface IAsyncDisposable
type IAsyncDisposable = interface
Public Interface IAsyncDisposable
- Türetilmiş
Açıklamalar
.NET'te, yönetilmeyen kaynaklara sahip sınıflar genellikle yönetilmeyen kaynakları zaman uyumlu bir şekilde serbest bırakmaya yönelik bir mekanizma sağlamak için arabirimi uygular IDisposable . Ancak bazı durumlarda, zaman uyumlu kaynaklara ek olarak (veya yerine) yönetilmeyen kaynakları serbest bırakmak için zaman uyumsuz bir mekanizma sağlamaları gerekir. Böyle bir mekanizma sağlamak, tüketicinin GUI uygulamasının ana iş parçacığını uzun süre engellemeden, kaynak yoğun atma işlemlerini gerçekleştirmesine olanak tanır.
IAsyncDisposable.DisposeAsync Bu arabirimin yöntemi, zaman uyumsuz atma işlemini temsil eden bir ValueTask döndürür. Yönetilmeyen kaynaklara sahip sınıflar bu yöntemi uygular ve bu sınıfların tüketicisi artık gerekli olmadığında bir nesne üzerinde bu yöntemi çağırır.
Zaman uyumsuz yöntemler, C# ve Visual Basic'te async ve await anahtar sözcükleriyle birlikte kullanılır. Daha fazla bilgi için bkz C# dilinde Görev Tabanlı Asenkron Programlama modeli veya Async ve Await ile Asenkron Programlama (Visual Basic).
IAsyncDisposable uygulayan bir nesne kullanma
Uygulamanız IAsyncDisposable uygulayan bir nesne kullanıyorsa, kullanmayı bitirdiğinizde nesnenin DisposeAsync uygulamasını çağırmalısınız. tr-TR: Bir istisna durumunda bile kaynakların serbest bırakıldığından emin olmak için, IAsyncDisposable nesnesini kullanan kodu C# dilinde sürüm 8.0'dan başlayarak using ifadesine yerleştirin veya DisposeAsyncfinallytry deyiminin bir / yan tümcesi içerisinde finally yöntemini çağırın. Gösterim düzeni hakkında try/finally daha fazla bilgi için bkz. try-finally (C#) veya Try... Catch... Finally Deyimi (Visual Basic).
IAsyncDisposable'ı Uygula
Aşağıdaki durumlarda uygulayabilirsiniz IAsyncDisposable :
- Yönetilmeyen kaynaklara sahip bir zaman uyumsuz numaralandırıcı geliştirirken. Zaman uyumsuz numaralandırıcılar, C# 8.0 zaman uyumsuz akışlar özelliğiyle birlikte kullanılır. Zaman uyumsuz akışlar hakkında daha fazla bilgi için bkz . Öğretici: C# 8.0 ve .NET Core 3.0 kullanarak zaman uyumsuz akışlar oluşturma ve kullanma.
- Sınıfınız yönetilmeyen kaynaklara sahip olduğunda ve bunları serbest bırakmak için, ara bellek içeriğini bir dosyaya boşaltmak veya bir bağlantıyı kapatmak için ağ üzerinden paket göndermek gibi kaynak yoğun bir G/Ç işlemi gerekiyorsa.
DisposeAsync yöntemini, yönetilmeyen kaynakları kullandıktan sonra serbest bırakmak, bırakmak veya sıfırlamak gibi gerekli temizleme işlemlerini gerçekleştirmek için kullanın. Daha fazla bilgi için DisposeAsync yöntemi uygulayın.
Yöntemler
| Name | Description |
|---|---|
| DisposeAsync() |
Yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir. |
Uzantı Metotları
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Zaman uyumsuz bir atılabilir öğeden döndürülen görevlerde awaits işleminin nasıl gerçekleştirileceğini yapılandırılır. |