روشی که اقای رضایی میگن درسته، من کمتر تحت ویندوز کار کردم اما همیشه روش اقای رضایی انجام دادم
در کل پست به جایی بود ممنون
public static Task ForEachAsync<TSource>(IEnumerable<TSource> source, Func<TSource, CancellationToken, ValueTask> body) public static Task ForEachAsync<TSource>(IEnumerable<TSource> source, CancellationToken cancellationToken, Func<TSource, CancellationToken, ValueTask> body) public static Task ForEachAsync<TSource>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Func<TSource, CancellationToken, ValueTask> body) public static Task ForEachAsync<TSource>(IAsyncEnumerable<TSource> source, Func<TSource, CancellationToken, ValueTask> body) public static Task ForEachAsync<TSource>(IAsyncEnumerable<TSource> source, CancellationToken cancellationToken, Func<TSource, CancellationToken, ValueTask> body) public static Task ForEachAsync<TSource>(IAsyncEnumerable<TSource> source, ParallelOptions parallelOptions, Func<TSource, CancellationToken, ValueTask> body)
using System.Net.Http.Headers; using System.Net.Http.Json; var userHandlers = new [] { "users/VahidN", "users/shanselman", "users/jaredpar", "users/davidfowl" }; using HttpClient client = new() { BaseAddress = new Uri("https://api.github.com"), }; client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("DotNet", "6")); ParallelOptions parallelOptions = new() { MaxDegreeOfParallelism = 3 }; await Parallel.ForEachAsync(userHandlers, parallelOptions, async (uri, token) => { var user = await client.GetFromJsonAsync<GitHubUser>(uri, token); Console.WriteLine($"Name: {user.Name}\nBio: {user.Bio}\n"); }); public class GitHubUser { public string Name { get; set; } public string Bio { get; set; } }
customers.ForEach(c => SendEmailAsync(c));
foreach(var c in customers) { SendEmailAsync(c); // the return task is ignored }
customers.ForEach(async c => await SendEmailAsync(c));
foreach(var c in customers) { await SendEmailAsync(c); }
foreach(var o in orders) { await ProcessOrderAsync(o); }
var tasks = orders.Select(o => ProcessOrderAsync(o)).ToList(); await Task.WhenAll(tasks);
RegisterAsyncTask(new PageAsyncTask(() => SomeMethod(param1: 1000)));
در پی همکاری با بنیاد هویت غیرمتمرکز، شرکت مایکروسافت از برنامه خودش برای بهرهگیری از فناوری بلاکچین با هدف حل چالشهای مدیریت هویت خبر داده است.
بهطور دقیقتر این شرکت بزرگ فناوری با طراحی یک اپلیکیشن در پی استفاده از امکانات فناوری زنجیرهبلوک برای مدیریت بهتر اوراق هویتی دیجیتال است.
برعکس مدلهای امروزی مدیریت هویت، یک سیستم غیرمتمرکز توسط هیچ شخص یا سازمان مرکزی کنترل نمیشود.
این سیستمهای غیرمتمرکز مبتنی بر ساختار زنجیرهبلوک همچنین امکان سانسور و دستکاری اطلاعات هویتی را از بین میبرند درنتیجه نمیتوان برای افراد سو سابقه جعلی ایجاد کرد.
تیم مایکروسافت بعد از بررسی انواع این سیستمهای غیرمتمرکز ترجیح داده به دلایل محرمانگی، مالکیت فردی و دسترسی بدون اجازه از شبکههای بلاکچین عمومی استفاده کند.
مایکروسافت همچنین برای راهاندازی سیستم غیرمتمرکز هویت که بهاختصار آن را DID نامیده از بیتکوین، اتریوم و لایتکوین بهعنوان پلتفرمهای مناسب نامبرده است.