Я использую Tasks для запуска длинных вызовов сервера в моей модели ViewModel, и результаты снова сортируются по Dispatcher
с помощью TaskScheduler.FromSyncronizationContext()
. Например:
var context = TaskScheduler.FromCurrentSynchronizationContext();
this.Message = "Loading...";
Task task = Task.Factory.StartNew(() => { ... })
.ContinueWith(x => this.Message = "Completed"
, context);
Это отлично работает при выполнении приложения. Но когда я запускаю тесты NUnit
на Resharper
, я получаю сообщение об ошибке при вызове FromCurrentSynchronizationContext
как:
Текущий SynchronizationContext не может использоваться как TaskScheduler.
Я предполагаю, что это происходит потому, что тесты выполняются в рабочих потоках. Как я могу обеспечить, чтобы тесты выполнялись в основном потоке? Любые другие предложения приветствуются.