2011-02-18 24 views

cevap

7

Örneğin, çeşitli yollar kullanabilirsiniz:

Ve .NET 4 beri tercih edilen yöntem Tasks kullanmaktır.

+3

+1 arkaplan işçiler için – Mark

0

, eşzamansız yapmaya çalıştığınız şeylere bağlıdır. , ör. Bir WCF servisi çağırmak, sizin için marshalling yapan Tamamlanmış desen ile, kurulum yolunu kullanırdım. Normal Arkaplan çalışması BackgroundWorker'ı tekrar kullanıyorum, çünkü marshalling hakkında endişelenmenize gerek yok. Standart dişlere ek olarak

0

. Kullanılacak bir şey, birçok sınıfın Async yöntemleridir, bunu yapabilir. Buna web servis istekleri, dosya okuma/yazma işlemleri dahildir.

Bakılacak bir şey, çoğunlukla Caliburn.Micro tarafından kullanılan Coroutines'dir. Ama bunu yapmanın standart yolu değil.

Ayrıca .NET 4, bazı async programlama işlemlerini daha kolay yapabilen ParallelExtensions ile birlikte Task sınıfı ekliyor. Ama hala sakar, yani .NET 5, thigs daha kolay hale getirmek için, uyumsuzluk programlama modeli ekler. Ama tanrı onun ne zaman serbest bırakılacağını bilir.

1

Aşağıdaki yazıya bir göz atın, bir async temsilci komutu oluşturma yöntemini (BackgroundWorker kullanarak) açıklar. Bu tür bir komutu uygulamada kullandım ve gayet iyi çalışıyor ve aynı zamanda asenkron olarak bir şeyler yapmanın tutarlı bir yolunu sunuyor. WPF MVVM Apps için

Bir Asenkron Delege Komutanlığı - Benzer bir uygulama ayrıca belirtilmiştir http://amazedsaint.blogspot.com/2010/10/asynchronous-delegate-command-for-your.html

AsyncDelegateCommand - Asynchronous WPF Commands

İlgili konular