taskFactory.StartNew و Task.Run، هر دوی اینها یک ترد جدید را آغاز میکنند که در برنامههای ASP.NET نیازی به آنها نیست. تعداد ترد مصرفی کمتر در برنامههای وب = امکان پاسخگویی بیشتر برنامه. همچنین هر دوی اینها هم کد مربوطه را خارج از context درخواست جاری اجرا میکنند. برای مثال اگر متد IsAcceptAsync (یا هر متد دیگری) در بدنهاش از اطلاعات HttpContext جاری استفاده میکند، این اطلاعات نال خواهند بود، چون در یک context دیگر در حال اجرا است.
کدی را که نوشتید برای برنامههای دسکتاپ بیشتر استفاده میشود تا ترد UI را هرچند مدتی اندک مشغول نکند.
برای مطالعهی بیشتر
-
متدهای async تقلبی
-
Task.Run Etiquette and Proper Usage
-
StartNew is Dangerous