Я работаю над проектом, который использует следующие технологии:Как вызвать метод в потоке пользовательского интерфейса из рабочего потока?
- C# (.NET 4.0)
- WCF
- PRISM 4
Я в настоящее время делает асинхронный вызов к одному из наших веб-сервисов с использованием методов Begin/End, созданных прокси-сервером. Вызов успешный, и клиент может получить ответ веб-службы на рабочий поток.
Как только получен ответ, я продолжаю поднимать событие. Класс подписался на событие продолжает запрашивать интерфейс навигации с помощью PRISM:
Application.Current.Dispatcher.BeginInvoke(new Action(() =>
this.RegionManager.RequestNavigate(RegionNames.LoginContentRegion, projectSelectionViewUri)));
Поскольку асинхронный ответ WCF не захватывается в потоке пользовательского интерфейса, я вынужден вызвать поток пользовательского интерфейса с использованием Application.Current.Dispatcher.BeginInvoke(...)
.
Проблема заключается в том, что вызов, похоже, ничего не делает. Пользовательский интерфейс не обновляется, и исключение не генерируется.
Как я могу вызвать поток пользовательского интерфейса из события, возникшего в рабочем потоке?
Edit: Этот вопрос был вновь спросил по следующей ссылке, так как предполагается, дубликат не дает ответа:
Request UI navigation using PRISM 4 on an asynchronous WCF response thread
Почему эта нить закрыта. Возможный дубликат не касается Windows WPF, и мне почти 3 года, и я понимаю, что это общий вопрос (на сайте), но возможный дубликат как НИЧЕГО. –
Я согласен с Ramhound ... –