‫۱ سال و ۱۰ ماه قبل، سه‌شنبه ۲۶ مهر ۱۴۰۱، ساعت ۱۳:۴۲
یک نکته‌ی تکمیلی: نیاز به استفاده‌ی از یک Context مجزای از Context درخواست جاری، در حین لاگ کردن

اگر استثنای حاصله به علت وجود مشکلی در اعمال خود EF-Core باشد، از این لحظه به بعد نمی‌توان از Context موجود، برای ثبت کردن اطلاعاتی در بانک اطلاعاتی برنامه استفاده کرد. یعنی زمانیکه Context ای به سازنده‌ی لاگر تزریق شد:
public class DbLoggerProvider:ILoggerProvider
{
     public DbLoggerProvider(ApplicationDbContext dbContext)
این Context، دقیقا همان Context درخواست جاری برنامه است (الگوی واحد کار) و وضعیت داخلی آن به علت بروز استثناء، برای انجام اعمال بیشتری بر روی آن مناسب نیست.
برای اینکه بتوان یک Context مجزای از Context درخواست جاری را در لاگر مورد استفاده قرار داد، ابتدا باید IServiceProvider را بجای Context، به سازنده‌ی لاگر تزریق کرد و سپس با استفاده از آن، یک scoped context جدید را ایجاد کرد (مانند کاری که در اینجا شده):
var scopeFactory = _serviceProvider.GetRequiredService<IServiceScopeFactory>();
using (var scope = scopeFactory.CreateScope())
{
  var scopedProvider = scope.ServiceProvider;
  using (var newDbContext = scopedProvider.GetRequiredService<ApplicationDbContext>())
  {
       // ...
  }
}
اطلاعات بیشتر
‫۱ سال و ۱۰ ماه قبل، چهارشنبه ۲۰ مهر ۱۴۰۱، ساعت ۱۵:۱۷
+ متد ApplyCorrectYeKe کتابخانه‌ی « DNTPersianUtils.Core » فراتر است از روش‌های متداول موجود.  
‫۱ سال و ۱۰ ماه قبل، دوشنبه ۱۸ مهر ۱۴۰۱، ساعت ۱۰:۲۲
با توجه به اینکه موضوع بحث در مورد فایل‌های PDF است، چنین مشکلی مطلقا با این فایل‌ها، به علت امکان جایگذاری (embedding) فونت‌ها در فایل‌های PDF وجود ندارد (فایل‌های PDF در تمام مرورگرها و حتی تمام سیستم عامل‌ها، به یک شکل به نظر می‌رسند؛ حتی صفحه بندی و نحوه‌ی نمایش آن‌ها هم تغییری نمی‌کند). به همین جهت بهتر است از ابزاری مانند PDFReport برای تولید گزارشات و PDFها استفاده کنید؛ اطلاعات بیشتر.
‫۱ سال و ۱۰ ماه قبل، شنبه ۹ مهر ۱۴۰۱، ساعت ۱۰:۵۲
یک نکته‌ی تکمیلی: یک‌دست سازی encoding تمام فایل‌ها در IDEهای جدید

یکی از مشکلاتی که راست به چپ زبان‌ها با آن سروکار دارند، یک‌دست نبودن encoding فایل‌هاست. تعدادی از آن‌ها اسکی هستند، تعدادی utf8، تعدادی utf8 به همراه BOM و ... . در IDEهای جدید، برای اینکه از ابتدا این فایل‌ها یک‌دست ایجاد شوند، می‌توان از یک فایل editorconfig. قرار گرفته‌ی در ریشه‌ی پروژه با تنظیمات زیر استفاده کرد:
# Code files
[*.{cs,csx,vb,vbx,razor,html,htm,js,md,cshtml,xaml,vbhtml,aspx,txt,asax,ashx,asmx,master,config}]
charset = utf-8-bom
‫۱ سال و ۱۱ ماه قبل، چهارشنبه ۳۰ شهریور ۱۴۰۱، ساعت ۲۲:۳۷
مشکل از اینجا بود (در متد UpdateHotelRoomAsync سرویس HotelRoomService):
// Note: Without this `Include`, HotelRoomImages will be in the detached state and won't be update here.
var actualDbRoom = await _dbContext.HotelRooms.Include(x => x.HotelRoomImages)
                                           .FirstOrDefaultAsync(x => x.Id == roomId);
نمونه‌ای که منتشر شده، بدون این Include است. به همین جهت اگر لیست تصاویر به روز رسانی شوند، چون این تصاویر بارگذاری نشده‌اند و تحت کنترل سیستم tracking نیستند، به روز رسانی نخواهند شد.
‫۱ سال و ۱۱ ماه قبل، چهارشنبه ۳۰ شهریور ۱۴۰۱، ساعت ۰۳:۵۹
- هدف اصلی از bundling این هست که «تمام فایل‌ها» مدخلی در صفحه نداشته باشند و فقط یک فایل معرف تمام آن‌ها ارائه شود؛ مانند کاری که در اینجا شده و گرنه ضرورتی به استفاده از این ابزارها نیست.
+ در تنظیمات آن حالت‌های مختلف caching سمت سرور مانند enableMemoryCache وجود دارد تا هربار و با هر درخواستی کار bundling و سایر جزئیات را تکرار نکند.
‫۲ سال قبل، سه‌شنبه ۲۹ شهریور ۱۴۰۱، ساعت ۱۴:۴۵
آخرین تغییر ساعت رسمی کشور

- ساعت رسمی کشور از ساعت ۲۴ روز چهارشنبه، سی‌ام شهریور، یک ساعت به عقب کشیده خواهد شد.
- این آخرین تغییر ساعت رسمی کشور است و دیگر تغییر ساعتی در آغاز سال نو نخواهیم داشت. 
‫۲ سال قبل، سه‌شنبه ۲۹ شهریور ۱۴۰۱، ساعت ۰۰:۳۶
یک نکته‌ی تکمیلی
با توجه به اینکه BundlerMinifier چندسالی هست که به روز نشده، انتخاب بهتر در این لحظه « WebOptimizer » است. یک نمونه مثال از روش ارتقاء از BundlerMinifier به WebOptimizer در اینجا
‫۲ سال قبل، چهارشنبه ۲۳ شهریور ۱۴۰۱، ساعت ۱۴:۳۹
یک نکته‌ی تکمیلی: Tag Helper ای برای ساخت فیلد ورود کلمه‌ی عبور بر اساس تنظیمات ASP.NET Core Identity

ASP.NET Core Identity به همراه یکسری تنظیمات ابتدایی کلمات عبور نیز هست. اگر علاقمند باشید تا این تنظیمات را به ویژگی passwordrules عنوان شده‌ی در این مطلب به صورت خودکار اعمال کنید، می‌توانید از این Tag Helper استفاده نمائید؛ با این مثال.