我有這個類:爲什麼我的程序在返回後會凍結?
public class ImgurAPI
{
private string ClientId = "id";
private string ClientSecret = "secret";
private string BasicUri = "https://api.imgur.com/3/";
private HttpClient HttpClient = new HttpClient();
public ImgurAPI()
{
HttpClient.DefaultRequestHeaders.Add("Authorization", "Client-ID " + ClientId);
}
private async Task<HttpContent> doRequest(string urlQuery)
{
HttpResponseMessage response = await HttpClient.GetAsync(urlQuery);
return response.Content;
}
public HttpContent getImages(string search, int minSizeX, int minSizeY, string imageType, int page)
{
var url = BasicUri + "gallery/search/top/" + page.ToString() + "/";
url += "?q=" + search;
Task<HttpContent> task = doRequest(url);
return task.Result;
}
}
,我稱之爲是這樣的:
private void SearchImageClicked(object sender, RoutedEventArgs e)
{
HttpContent content = api.getImages(SearchBox.Text, 0, 0, "png", 1);
// other code here
}
但當getImages
回報,我的程序凍結。我在return task.Result;
上放置了一個斷點,它就在那裏。但我也在getImages
調用之後放置了一個斷點,並且它不會到達那裏,我的程序會凍結,我必須終止進程才能停止。
這怎麼可能?