5
我在Silverlight 4应用程序中使用RIA Services DomainContext来加载数据。如果我使用UI线程中的上下文,回调是否始终在UI线程上?执行异步RIA服务调用时执行的回调是哪个线程?
或者换句话说,回调总是在与调用相同的线程上?
下面说明情景一些示例代码...
private void LoadStuff()
{
MyDomainContext context = new MyDomainContext();
context.Load(context.GetStuffQuery(), op =>
{
if (!op.HasError)
{
// Use data.
// Which thread am I on?
}
else
{
op.MarkErrorAsHandled();
// Do error handling
}
}, null
);
}
感谢Jehof,这是有用的知道,这是我在实践中发现的。我很感兴趣,但对我的具体问题得到明确的答案 - 它总是调用线程得到回调? (例如,如果我们不调用UI线程)。 – Chris
@Chris:是的,回调会在调用线程中执行。加载是在后台线程中完成的,并且对于调用线程来说是非阻塞的。 – Jehof