public BaseClientResponse Get() { using (var httpClient = new HttpClient()) { BaseClientResponse result = new BaseClientResponse(); Task responseTask = null; httpClient.GetAsync(_endpoint).ContinueWith((requestTask) => { responseTask = requestTask; HttpResponseMessage response = requestTask.Result; response.EnsureSuccessStatusCode(); response.Content.ReadAsStringAsync().ContinueWith((readTask) => { result.Content = readTask.Result; }); }); // HACK: My version of the await keyword while (responseTask == null || !responseTask.IsCompleted || result == null) { } return result; } }
public BaseClientResponse Get() { using (var httpClient = new HttpClient()) { BaseClientResponse result = new BaseClientResponse(); Task responseTask = null; httpClient.GetAsync(_endpoint).ContinueWith((requestTask) => { responseTask = requestTask; HttpResponseMessage response = requestTask.Result; response.EnsureSuccessStatusCode(); response.Content.ReadAsStringAsync().ContinueWith((readTask) => { result.Content = readTask.Result; }); }); // HACK: My version of the await keyword while (responseTask == null || !responseTask.IsCompleted || result == null) { } return(result); } }