5
私は、Silverlight 4アプリケーションでRIA Services DomainContextを使用してデータをロードしています。 UIスレッドからコンテキストを使用している場合、コールバックは常にUIスレッドになるでしょうか?非同期RIAサービスコールを実行するときに実行されるコールバックはどのスレッドですか?
コールバックは常にコールと同じスレッドにありますか?あなたはUIスレッド上DomainContextの負荷メソッドを実行した場合
シナリオを示す以下のいくつかのサンプルコード...
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