Application.GetResourceStream在非ui线程中

时间:2011-11-21 09:14:15

标签: multithreading silverlight resources

我遇到Silverlight应用程序的问题。

假设我在资源流中有一个xml文件。我像往常一样得到这样的东西:

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

一切正常。但是如果相同的代码在后台线程中运行(通过async / await,或者简单地说,在后台工作程序中),它总是返回null。

我听说VS中存在类似问题的bug(返回null)所以我试图清理解决方案,删除obj文件夹等但没有任何作用 - 在后台线程中,此代码始终为资源流返回null。 / p>

1 个答案:

答案 0 :(得分:0)

您无法在后台线程中访问UI资源。理想情况下,您应该在UI线程中访问它并将其传递给后台线程。