.NET 9.0'da yeni [24]: Etkinlik sınıfı için genişleme

Womanne

Member
Sınıf System.Threading.Tasks.Task yeni yöntemi sunuyor WhenEach()Bir IAsyncEnumerable<Task> teslimat ve bir foreach-Belirtilen faaliyetlerden biri mevcut olur olmaz yük akar.






Dotnet Doctor-Holger Schwichtenberg




Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünüşleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi ile Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.







Bu: İş, bir ilk sonuç olur olmaz, yalnızca tüm sonuçlar yöntemde olduğu gibi değil, başlar. WhenAll()Bu klasik .NET 4.5 çerçevesinden vardı.



Aşağıdaki kodu kullandı WhenEach()Birkaç HTTP isteğinin durumunu kademeli olarak belirlemek için:



public async Task Run()
{
CUI.Demo(nameof(FCL9_Task)+ " WhenEach()");

using HttpClient http = new();

Task<HttpResponseMessage> t1 = http.GetAsync("http://CNN.com");
Task<HttpResponseMessage> t2 = http.GetAsync("http://microsoft.com");
Task<HttpResponseMessage> t3 = http.GetAsync("http://www.dotnetframework.de");
Task<HttpResponseMessage> t4 = http.GetAsync("http://www.dotnet-lexikon.de");
Task<HttpResponseMessage> t5 = http.GetAsync("http://www.dotnet9.de");
// Starte einen Task, der 5 Sekunden braucht und HttpResponseMessage zurückgibt
Task<HttpResponseMessage> t6 = Task.Delay(5000).ContinueWith(t => new HttpResponseMessage(System.Net.HttpStatusCode.InternalServerError) { RequestMessage = new HttpRequestMessage() { RequestUri = new Uri("http://unsinn") } });

await foreach (Task<HttpResponseMessage> t in Task.WhenEach(t1, t2, t3, t4, t5, t6))
{
Console.WriteLine($"{DateTime.Now.ToLongTimeString()}: {t.Result?.RequestMessage?.RequestUri} = {t?.Result?.StatusCode}");
}
}




(RME)




Ne yazık ki, bu bağlantı artık geçerli değil.

Boşa harcanan eşyalara olan bağlantılar, 7 günlük daha büyükse veya çok sık çağrılmışsa gerçekleşmez.


Bu makaleyi okumak için bir Haberler+ paketine ihtiyacınız var. Şimdi yükümlülük olmadan bir hafta deneyin – yükümlülük olmadan!
 
Üst