1
コールバックは別のスレッドで呼び出されるはずですか? このコード使用:私は「InvalidOperationExceptionが」取得異なるスレッドの応答コールバック
client.ExecuteAsync<List<IngredientDto>>(request, Response =>
{
textBox1.Text += Response.Data.Count;
});
を:
は「別のスレッドがそれを所有しているので、呼び出し元のスレッドがこのオブジェクトにアクセスすることはできません。」
コールバックはUIスレッド上にあってはいけませんか、間違っていますか?あなたがソースコードを見れば
を参照してくださいWPFの場合、あなたは一般的なケースでは
Dispatcher
を使用できますが、コールバックはUIスレッドで呼び出されるべきではないのですか?実際のプロセスが別のスレッドではないのですか?UIスレッドで呼び出し元に通知しますか? – Matthew
私の更新を見てください。コールバックは、要求と同じスレッドで呼び出されます。 – undefined
ありがとうございますが、これはRestSharpチームがこのように働いた理由に関する質問です。たとえば、BackgroundWorkerを使用する場合、DoWorkは新しいスレッドにありますが、ReportProgressはUI上にあります。なぜこれらの2つの実装(RestSharpとBackgroundWorker)に違いがありますか?それ以上は、コールバックの標準は何ですか? – Matthew