Geçerli SynchronizationContext bir TaskScheduler olarak kullanılamaz | Netgez.com
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

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • FASHTAG

    FASHTAG

    5 EYLÜL 2012
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005