जब एक या दो कार्य होते हैं तो यह ठीक काम करता है लेकिन जब हम एक से अधिक कार्य सूचीबद्ध करते हैं तो एक त्रुटि "एक कार्य रद्द कर दिया गया" होता है।
List<Task> allTasks = new List<Task>();
allTasks.Add(....);
allTasks.Add(....);
Task.WaitAll(allTasks.ToArray(), configuration.CancellationToken);
private static Task<T> HttpClientSendAsync<T>(string url, object data, HttpMethod method, string contentType, CancellationToken token)
{
HttpRequestMessage httpRequestMessage = new HttpRequestMessage(method, url);
HttpClient httpClient = new HttpClient();
httpClient.Timeout = new TimeSpan(Constants.TimeOut);
if (data != null)
{
byte[] byteArray = Encoding.ASCII.GetBytes(Helper.ToJSON(data));
MemoryStream memoryStream = new MemoryStream(byteArray);
httpRequestMessage.Content = new StringContent(new StreamReader(memoryStream).ReadToEnd(), Encoding.UTF8, contentType);
}
return httpClient.SendAsync(httpRequestMessage).ContinueWith(task =>
{
var response = task.Result;
return response.Content.ReadAsStringAsync().ContinueWith(stringTask =>
{
var json = stringTask.Result;
return Helper.FromJSON<T>(json);
});
}).Unwrap();
}
CancellationToken
पैरामीटर के रूप में क्यों लेते हैं और इसका उपयोग नहीं करते हैं?
HttpClient
गलती से async Task<HttpResponseMessage> Method(){ using(var client = new HttpClient()) return client.GetAsync(request); }
HttpClient
@JobaDiniz (a using()
) के साथ उपयोग करने वालों के लिए , कृपया बंद करें! कारण: aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong