Bir Windows 10 (UWP) Uygulaması içinde MvvmCross ve AsyncEx kitaplığını kullanıyorum. Bir ViewModel C# kodu async yönteminde engelleme
, bir INotifyTaskCompletion özelliğine sahip (1) ViewModel (2)(2) ', bir çağrı, bir zaman uyumsuz kütüphanesi yöntemi bir zaman uyumsuz yönteme kablolu kadar olan bir hızda geçer:
- Çekler yerel önbellek
- Yüklemeler veriler uyumsuz
- cache
S. Kullanıcı arabirimini engellemenin en iyi yolu nedir?
Eşzamansız kodda engellenmemesi için Stephen Cleary'dan anladım ve kitaplık yöntemlerinde Task.Run'u kullanmamayı anlıyorum. Öyleyse yapmak zorundayım….
Önbelleğe alma çağrılarını (2) içine taşıyın örn.
- Kullanım Task.Run (kontrol etmek önbellek)
- Çağrı kütüphane yöntemi tekrar uyumsuz
- Kullanım Task.Run (veri önbelleğe)?
Daha iyi bir yolu var mı?
Paylaşabileceğiniz bir kod var mı? –
"Daha iyi" tanımınıza bağlıdır. Önbellek kodunu değiştiremezseniz ve uyumsuz/bekletme kullanmak istiyorsanız, önbellek kodu için 'Task.Run()' ifadesinin kullanılması "doğru" olur. – Jcl