This question already has an answer here:
- C# asynchronous method - help needed 3 answers
I have the following code that I'm using to call a uri:
var uri = string.Format("Helpers/ProfileList/Online/?locationId=0&skip=0&take={0}", numProfiles);
HttpResponseMessage response = await client.GetAsync(uri);
response.EnsureSuccessStatusCode();
The uri is pointing at a custom web api uri (which I can debug and follow through). However, when the last return statement in the api has been called, nothing seems to happen. It should go to the response.EnsureSuccessStatusCode();
line, but it's not. It just seems to be hanging.
My spidey-sense tells me that further up your call stack your code is blocking on a returned task, e.g.,
Task.Wait
orTask<T>.Result
. By default, this will cause a deadlock that I explain on my blog.To fix it, replace
Task.Wait
andTask<T>.Result
withawait
.