Chr*_*ris 5 c# silverlight multithreading silverlight-4.0 wcf-ria-services
我在Silverlight 4应用程序中使用RIA Services DomainContext来加载数据.如果我正在使用UI线程中的上下文,那么回调总是会在UI线程上吗?
或换句话说,回调是否始终与呼叫在同一个线程上?
下面的一些示例代码说明了该场景......
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
);
}
Run Code Online (Sandbox Code Playgroud)
如果您在 UI 线程上执行 DomainContext 的 Load-Method,那么回调也会在 UI 线程上执行。
当您使用 Load 返回的 LoadOperation 的 Completed-Event 时,也是如此。
LoadOperation<Stuff> operation = context.Load(context.GetStuffQuery());
operation.Completed += (o, e) {
if (!operation.HasError) {
// Use data.
// Which thread am I on?
}
else {
op.MarkErrorAsHandled();
// Do error handling
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |