‫۱ سال و ۱۰ ماه قبل، پنجشنبه ۵ آبان ۱۴۰۱، ساعت ۱۷:۳۴
و اگر از لینوکس استفاده می‌کنید، فایل تنظیمات openssl را باید به صورت زیر تغییر داد. به ابتدای فایل etc/ssl/openssl.cnf، تنظیم زیر را اضافه کنید:
openssl_conf = default_conf
و در انتهای فایل، تنظیمات زیر را اضافه کنید؛ تا از TLS 1.2 به صورت پیش‌فرض استفاده شود:
 [default_conf]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MaxProtocol = TLSv1.2
‫۱ سال و ۱۰ ماه قبل، دوشنبه ۲ آبان ۱۴۰۱، ساعت ۱۰:۳۷
از کل TokenValidatedContext به ClaimsPrincipal آن نیاز است. فقط همین قسمت را Serialize کنید. منظور این است که داده‌هایی را که واقعا نیاز است Serialize کنید؛ نه کل شیء را. همچنین این داده‌ها را هم می‌توان به اشیاء ساده‌تری نگاشت کرد.
‫۱ سال و ۱۰ ماه قبل، سه‌شنبه ۲۶ مهر ۱۴۰۱، ساعت ۱۶:۵۶
یک نکته‌ی تکمیلی: تولید URLهای strongly typed در برنامه‌های Blazor WASM 

یکی از مشکلات کار با برنامه‌های Blazor WASM، نیاز به کار با آدرس‌های رشته‌ای مانند زیر است که تحت کنترل کامپایلر نبوده و همچنین با تغییر مسیریابی‌های برنامه، به‌هم خواهند ریخت:
var secretUrl = "api/WeatherForecast/_secretUrl";
کتابخانه‌ی « ApiUrlsGenerator »، این مشکل را برطرف کرده و به صورت خودکار بر اساس Action Methods موجود، نمونه‌ی strongly typed آن‌ها را تولید می‌کند:
 var secretUrl = ApiUrls.WeatherForecast.HttpGet.SecretUrl;
‫۱ سال و ۱۰ ماه قبل، سه‌شنبه ۲۶ مهر ۱۴۰۱، ساعت ۱۳:۵۸
یک نکته‌ی تکمیلی: بهبود کارآیی متدهای async با کمتر کردن کار آن‌ها

اگر بدنه‌ی متدهای async سرویس شما، تک سطری بودند (فقط یک return await بودند)، مانند مثال زیر:
public async Task<Blog?> Get(uint id)
{
    return await _context.Blogs.FirstOrDefaultAsync(x=>x.BlogId == id);
}
نیازی به ذکر async و await نیست؛ فقط خود Task را بازگشت دهید. افزونه‌هایی مانند AsyncFixer و Asyncify این نوع نکات را بهتر مشخص می‌کنند. اطلاعات بیشتر