علاوه بر این تغییرات، در NET 5. به کلاس HttpClient یک متد جدید بنام Send اضافه شده است که نسخه Sync متد SendAsync است. در نگاه اول شاید عجیب باشد که برای یک متد Async، در NET 5. نسخه Sync اضافه شده است!
در نسخههای پیشتر از NET 5.، کلاس HttpClient متدی برای ارتباط Synchronous نداشت و اگر Code-base ای قدیمی بود و بر این اساس، از پایه با دید Async طراحی نشده بود و یا interface ای وجود داشت که متدهای آن فقط synchronous بودند، مجبور به استفاده از متدهای Async این کلاس (HttpClient) با استفاده از GetAwaiter.GetResult یا Result یا Wait روی آنها داخل متدهای Sync خود میشدید.
در NET 5. متد Send اضافه شد تا این مشکل را برطرف کند. استفاده از sync over async، در حالت کلی overhead بیشتری نسبت به استفاده از متد sync بطور مسقیم دارد! و برای رفع این مشکل، نسخه synchronous نیز برای Send روی HttpClient اضافه شد. 34948#
var httpClient = new HttpClient(); httpClient.SendAsync(null!); // works on .NET 5 and before httpClient.Send(null!); // Works on .NET 5, But not compiling on previous versions!