Я использую среду MVVMLight в приложении метро. Я начал с загрузки данных в мои конструкторы ViewModel, и все сработало нормально. К концу сборки я ввел некоторые дополнительные обработки исключений в app.xaml.mvvmlight windows 8 metro данные загрузки async в конструкторе viewmodel
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
Это начало бросать много ошибок относительно невыполненных задач.
Я переместил вызовы загрузки данных конструктора ViewModel в мою страницу LoadState и ожидал их там, и все работает нормально. Тем не менее, я читал, что это, возможно, плохая практика.
Должен ли я вместо этого ввести асинхронный вызов конструктора ViewModel? Заинтересованы, что может быть лучшим? Может быть, я должен удалить обработчик исключений!
Аналогичный вопрос был задан здесь: MVVM view model and async data initialisation
У меня есть пара сообщений в блоге о [работе 'async' в конструкторах] (http://blog.stephencleary.com/2013/01/async-oop-2-constructors.html) и ['async' properties] (http://blog.stephencleary.com/2013/01/async-oop-3-properties.html), которые могут оказаться полезными. –