Application.GetResourceStream в не-пользовательском потоке - PullRequest
1 голос
/ 21 ноября 2011

У меня проблема с приложением Silverlight.

Предположим, у меня есть XML-файл в потоке ресурсов. Я получаю это как обычно с чем-то вроде этого:

StreamResourceInfo sr =
    Application.GetResourceStream(new Uri("uri goes there", UriKind.Relative));
var xml = XElement.Load(sr.Stream, LoadOptions.SetBaseUri);

И все работает просто отлично. Но если один и тот же код выполняется в фоновом потоке (через async / await или, проще говоря, в фоновом режиме), он всегда возвращает ноль.

Я слышал об ошибке в VS с похожими проблемами (возвращающей ноль), поэтому я пытался очистить решение, удалить папки obj и т. Д., Но ничего не работает - в фоновом потоке этот код всегда возвращает нуль для потока ресурсов.

1 Ответ

0 голосов
/ 21 ноября 2011

Вы не можете получить доступ к ресурсам пользовательского интерфейса в фоновом потоке.В идеале вы должны получить к нему доступ в потоке пользовательского интерфейса и передать в фоновый поток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...