HttpClientクラスと非同期呼び出しの呼び出しで問題が発生しています。page_loadから関数List()を呼び出します。呼び出しは、HttpResponseMessage response = await client.GetAsync(str);という行から返されます。そしてそれを終えるために二度と戻ってこない。
自分がどんな間違いをしているのかわかりません。以下は私のコードです:
protected void Page_Load(object sender, EventArgs e)
{
Task<string> s= List(product);
}
protected async Task<string> List(string ProductType)
{
string str = "http://xx.xx.com/wiki/api.php";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes(String.Format("{0}:{1}", "username", "password"))));
HttpResponseMessage response = await client.GetAsync(str);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
}
return content;
}
次の行は実行されません。
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
助けてください。前もって感謝します。