- اگر این کتابخانه برای شما مفید نیست؛ از آن استفاده نکنید. ما راه حل دیگری نداریم. جای دیگری هم چیزی دیگری پیدا نمیکنید که در اساس با این راه حل متفاوت باشد.
- هدف از await را بهتر است در دورهای که معرفی کردم (مبانی Async در C# 5) مطالعه کنید؛ چون به نظر آشنایی با آن ندارید. وجود آن نه مشکلی است و نه ربطی به قفل کردن UI دارد. البته اگر به نحو نادرستی مورد استفاده قرار گیرد، میتواند باعث قفل شدن UI هم شود که در آن سری با مثال بررسی شده.
- جائیکه HttpContext وجود ندارد، از آن استفاده نکنید. قالب رشتهای نهایی را به نحو دیگری تولید کنید.
- در این سایت برای تک ایمیلها، از روش استفاده از سرویسهای ارسال ایمیلی مانند مطلب جاری استفاده میشود (مانند ایمیلی که هم اکنون جهت اطلاع رسانی دریافت پاسخی به شما ارسال شد). برای ایمیلهای با تعداد بالا از کتابخانهی «DNT Scheduler» استفاده میشود که نسخهی Core هم دارد. در Taskهایی که در اینجا تعریف میشوند، از بانک اطلاعاتی کوئری بگیرید و پارامترها را از آنها استخراج کنید (در زمانهایی مشخص کوئری میگیرید که آیا زمان ارسال ایمیل هست یا خیر؟ اگر بله اطلاعات بیشتر را از بانک اطلاعاتی دریافت و استفاده کنید). از این لحاظ محدودیتی ندارد. مطلب «انجام کارهای پسزمینه» هم که عنوان شد نمونهی دیگری از این نوع پیاده سازیها است؛ جهت آشنایی بیشتر.