1
私は次のコードを持っている:HttpRequestMessageからコンテンツの結果を取得しますか?
var client = new HttpClient()
{
BaseAddress = new Uri(@"https://myhost:myport/"),
};
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var uri = @"myurl";
var s = JsonConvert.SerializeObject(myobject);
string responseResult = string.Empty;
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, uri);
request.Content = new StringContent(s, Encoding.UTF8, "application/json");
client.SendAsync(request)
.ContinueWith(responseTask =>
{
responseResult = responseTask.Result.Content.ReadAsStringAsync().Result;
});
txtLog.Text = responseResult;
上記の要求は、文字列の結果を返す必要がありますが、しかし、結果は空です。私は行方不明ですか?
ContinueWithは、そのメソッドがAsyncCallの後に実行されることを保証しますが、それでも非同期です。つまり、 "ContinueWith"が実行される前に "txtLog.Text"への割り当てが行われる可能性があります。 – Nicolas