次のように、ASP.NET Web API からの応答を読み取るコードがあります。
HttpClient client = new HttpClient();
client.GetAsync(path.ToAbsoluteUrl()).ContinueWith(
(requestTask) =>
{
HttpResponseMessage response = requestTask.Result;
response.EnsureSuccessStatusCode();
response.Content.ReadAsAsync<DBResult>().ContinueWith(
(readTask) =>
{
result = readTask.Result;
lblMessage.Text = string.Format("{0} products were uploaded successfully. {1} failed.", result.Success, result.Failed);
});
});
応答/結果が返されたときに、何らかのメッセージを表示しようとしています。しかし、何も機能していないようです - 私のラベルは更新されません。
明らかに、私は何か間違ったことをしています - 応答が受信された後にユーザーにメッセージを表示するにはどうすればよいですか?
ティア
編集:
以下に示すように、私は次のように宣言しました。
TaskScheduler スケジューラ = TaskScheduler.FromCurrentSynchronizationContext();
「スケジューラ」に渡されました(両方のContinueWithsで試しました)が、それでも何も機能していないようです。実際、lblMessage.Text のブレークポイントに達していません。