Yazdır() Metodu WPF ve WinForms'da Asılı Kalıyor

This article was translated from English: Does it need improvement?
Translated
View the article in English

Bir WPF veya WinForms uygulamasında senkron Print() yöntemini çağırdığınızda, yöntem çağırılır ancak asla tamamlanmaz. Çağrı süresiz olarak asılır, ipliği bloke eder ve baskı işi geçerli olsa bile UI'yi dondurur.

var printer = new IronPrint.Printer();
printer.Print("Test print"); // Hangs here
var printer = new IronPrint.Printer();
printer.Print("Test print"); // Hangs here
Dim printer As New IronPrint.Printer()
printer.Print("Test print") ' Hangs here
$vbLabelText   $csharpLabel

Bu beklenen bir davranıştır. Senkron Print(), uygulamanın UI iş parçacığında çalışır; burada WPF Dispatcher ve iş parçacığı bağlamı IronPrint'in baskı hattıyla çatışır ve çağrıyı engeller.

Çözüm

Eş zamanlı olan yerine async API'yi çağırın.

var printer = new IronPrint.Printer();
await printer.PrintAsync("Test print");
var printer = new IronPrint.Printer();
await printer.PrintAsync("Test print");
Dim printer = New IronPrint.Printer()
Await printer.PrintAsync("Test print")
$vbLabelText   $csharpLabel

PrintAsync() baskı işlemini engelleyici yolun dışına taşır, böylece iş tamamlanır ve hem WPF hem de WinForms'ta kullanıcı arayüzü duyarlı kalır.

En İyi Uygulamalar

  • IronPrint'i Güncelleyin: varsa düzeltme ekini almak için en son sürümü çalıştırın.
  • Asenkron API'leri tercih edin: UI iş parçacığı kilitlenmelerinden kaçınmak için WPF ve WinForms'ta PrintAsync() kullanın.
  • Ana iş parçacığını asla engellemeyin: asenkron bir çağrıya karşı .Result ve .Wait() kullanmaktan kaçının.
  • Uzun süreli G/Ç'ü Devre Dışı Bırakın: arka plan veya eşzamansız görevlerde baskı ve diğer dış çalışmaları tutun.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 44,051 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPrint
bir örnek çalıştır belgenizin yazıcıya ulaşmasını izleyin.