Zaman Uyumsuz İşlemler

Veritabanı işlemlerinin tamamlanması önemli zaman alabilir. Kullanıcı arabiriminin yanıt vermesini sağlamak veya istek iş parçacığını engellemekten kaçınmak için, bir komutun bitmesi için eşzamanlı olarak beklemek yerine eşzamansız veritabanı yöntemlerini kullanın.

SQL istemci kodu için Microsoft.Data.SqlClient NuGet paketini yükleyin. Yeni uygulamalar için, await ile ExecuteReaderAsync ve OpenAsync, ExecuteNonQueryAsync ve ExecuteXmlReaderAsync yöntemlerini kullanın. Bu yöntemler arka plan iş parçacığı oluşturmanıza gerek kalmadan zaman uyumsuz giriş/çıkış (G/Ç) gerçekleştirir.

Microsoft.Data.SqlClient bu bölümde açıklanan geri çağırma, bekleme tutamacı ve yoklama desenlerini de destekler. BeginExecuteNonQuery, BeginExecuteReader ve BeginExecuteXmlReader yöntemleri EndExecuteXmlReader, EndExecuteReader ve EndExecuteNonQuery ile eşleşir. Asynchronous Processing=true öğesini bağlantı dizesine eklemeyin; Microsoft.Data.SqlClient bu anahtar kelimeyi desteklemez.

Uyarı

Yeni kod için Görev tabanlı zaman uyumsuz programlama modeli kullanın. Bu bölümdeki örneklerde geri çağırma, bekleme tutamaçları veya yoklama gerektiren uygulamalar için desteklenen Begin/End desen gösterilmektedir.

İşlem tamamlanana kadar her bağlantıyı ve komutu canlı tutun. Eşleşen End yöntemini çağırdığınızda veya görevi await ettiğinizde özel durumları gözlemleyin. Masaüstü uygulamasında, denetimleri yalnızca kullanıcı arabirimi iş parçacığından güncelleştirin.

Bu Kısımda

Geri Çağırmaları Kullanan Windows Uygulamaları Zaman uyumsuz bir komutu güvenli bir şekilde yürütmeyi gösteren bir örnek sağlar, bir formla ve içeriğiyle ayrı bir iş parçacığından etkileşimi doğru bir şekilde işler.

Bekleme Tutamaçlarını Kullanarak Uygulamaları ASP.NET Tüm komutların tamamlanmasının ardından işlemi yönetmek için Bekleme tutamaçlarını kullanarak bir ASP.NET sayfasından birden çok eşzamanlı komutun nasıl yürütüleceklerini gösteren bir örnek sağlar.

Konsol Uygulamalarında Yoklama Bir konsol uygulamasından zaman uyumsuz bir komut yürütme işleminin tamamlanmasını beklemek için yoklama kullanımını gösteren bir örnek sağlar. Bu teknik, kullanıcı arabirimi olmayan bir sınıf kitaplığında veya başka bir uygulamada da geçerlidir.

Ayrıca bakınız