SORU
23 Kasım 2011, ÇARŞAMBA


Geçerli SynchronizationContext bir TaskScheduler olarak kullanılamaz

Tasks benim uzun ViewModel sunucu çağrıları çalışan çalıştırmak için kullanıyorum ve sonuçları Dispatcher TaskScheduler.FromSyncronizationContext() kullanarak sıraya. Örneğin:

var context = TaskScheduler.FromCurrentSynchronizationContext();
this.Message = "Loading...";
Task task = Task.Factory.StartNew(() => { ... })
            .ContinueWith(x => this.Message = "Completed"
                          , context);

Bu uygulama öldürdüğümde gayet iyi çalışıyor. Ama Resharper NUnit benim test FromCurrentSynchronizationContext: çağrı üzerinde hata mesajı alıyorum

Geçerli SynchronizationContext bir TaskScheduler olarak kullanılamaz.

Bu testleri çalışan iş parçacığı üzerinde çalıştırmak için sanırım. Nasıl testler ana iş parçacığı üzerinde çalışır temin edebilirim ? Başka önerileriniz bekliyoruz.

CEVAP
23 Kasım 2011, ÇARŞAMBA


Bir SynchronizationContext sağlamak gerekir. Bu nasıl ele aldığım

[SetUp]
public void TestSetUp()
{
  SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DragsterMC Gaming

    DragsterMC G

    30 HAZİRAN 2013
  • John Lynn

    John Lynn

    8 Ocak 2010
  • Triune Films

    Triune Films

    9 ŞUBAT 2006