PDA

View Full Version : سوال: فرق async -Task-ActionResult با ActionResult در چیست



Iran58
یک شنبه 13 خرداد 1397, 17:39 عصر
سلام
فرق

public async Task<ActionResult> Index()

و

public ActionResult Index()

درچیست
وایا می توان همیشه از

public async Task<ActionResult> Index()

استفاده کرد

hakim22
دوشنبه 14 خرداد 1397, 08:38 صبح
اول
کجا باید از Async استفاده کنیم !؟ (http://barnamenevis.org/showthread.php?547762-%DA%A9%D8%AC%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D8%B2-Async-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DA%A9%D9%86%DB%8C%D9%85-%D8%9F)

دوم

کار کردن با متدهای Async در زبان #C ساده است. پس هرجا ممکن بود بهتر است از آن استفاده کنید. زمانی باید یک متد را با عبارت Async شروع کنید که درون آن متد یک تسک اجرا می کنید.
متدهای Task معمولا با پسوند Async مشخص میشوند. بسیاری از متدهای Entity framework دارای پیاده سازی Async در کنار متد اصلی هستند.

اگر درون متد Async تسک وجود نداشته باشه کامپایلر خطایی نمیده اما ویژوال استودیو به شما warning میده که کد شما بهینه نیست. مشکل اینجاست که عبارت Async و Await در #C فقط یک میانبر است که کار کد نویسی برای شما ساده تر باشه. اما در درون #C کامپایلر از روی این عبارت ها کدهای دیگری میسازه . حالا اگر این کدها بدون تسک اجرا شوند نه تنها کمکی به برنامه ی شما نمیکنن بلکه لقمه دور گردن سر چرخ خورده !