Midسختی 3 از ۵· در 88٪ مصاحبههای این حوزه پرسیده شده
چرا نباید از .Result یا .Wait() استفاده کنیم؟
☆نشان کردنپاسخ کوتاه
چون میتوانند باعث Deadlock شوند، Thread را بلاک میکنند و کارایی را کاهش میدهند.
پاسخ کامل
.Result و .Wait() بهصورت همزمان (Synchronous) منتظر Task میمانند و Thread صدازننده را بلاک میکنند؛ در محیطهایی با SynchronizationContext (مثل ASP.NET قدیمی یا UI) همین بلاکشدن میتواند به Deadlock منجر شود.
اشتباه رایج
❌ فراخوانی GetDataAsync().Result داخل یک متد Sync بهجای پیادهسازی زنجیره async تا انتها.
