‫۷ سال و ۸ ماه قبل، پنجشنبه ۱۶ دی ۱۳۹۵، ساعت ۱۳:۱۹
سه مورد را بررسی کنید:
- حجم کوکی سایت شما نباید بیشتر از 4 کیلوبایت باشد. در غیراینصورت توسط مرورگرها ممکن است پذیرش نشود. افزونه‌ای برای بررسی حجم کوکی‌ها
- در کروم امکان غیرفعال کردن پذیرش third-party cookies وجود دارد.
- در فایرفاکس در قسمت privacy -> custom history امکان تنظیم عدم پذیرش کوکی‌های third parties وجود دارد.
‫۷ سال و ۸ ماه قبل، سه‌شنبه ۱۴ دی ۱۳۹۵، ساعت ۱۳:۵۹
- همین مثال جاری را بررسی کنید، به کلاس کاربران برنامه، لیست آدرس‌های شخص هم اضافه شده‌است (^ و ^).
- ASP.NET Identity برای حالت single sign-on طراحی نشده‌است (^). هرچند با تغییراتی در کوکی‌ها و Claims میسر است (^). برای حالت single sign-on بهتر است از پروژه‌ی دیگری به نام identity server استفاده کنید (^). همچنین JWT برای این مورد خاص، گزینه‌ی بهتری است (^ و ^).
‫۷ سال و ۹ ماه قبل، دوشنبه ۱۳ دی ۱۳۹۵، ساعت ۱۷:۵۸
چند نکته در مورد ViewComponentهای قرار گرفته‌ی در Areaها

الف) نیازی به ویژگی Area ندارند و در تمام قسمت‌های برنامه قابل دسترسی هستند.
ب) اگر یک ViewComponent را در یک Area تعریف کردید، نحوه‌ی مسیردهی View آن باید مطلق باشد:
 return View(viewName: "~/Areas/AreaName/Views/Shared/Components/OnlineUsers/Default.cshtml",model: model);
در غیر اینصورت زمانیکه این ViewComponent قرار است در قسمتی از صفحه که متعلق به این Area نیست رندر شود، پیام یافت نشدن View را مشاهده خواهید کرد.
ج) در لینک‌های ViewComponentهای یک Area، ذکر asp-area ضروری است. چون این ViewComponent ممکن است خارج از این Area نیز نمایش داده شود. ذکر asp-area برای لینک دادن به داخل همان Area غیرضروری است؛ اما در اینجا محل یک ViewComponent می‌تواند در کنار صفحه و در کنار تمام صفحات سایت باشد.
‫۷ سال و ۹ ماه قبل، پنجشنبه ۹ دی ۱۳۹۵، ساعت ۰۰:۴۷
- خیر. بازگشت دادن اعداد تکراری جزو خواص تولید کننده‌های این اعداد است؛ در جهت ارائه‌ی یک پوشش آماری مناسب.
- برای اینکار بهتر است از Guid استفاده کنید:
//This code generates numbers between 1 - 100 and then takes 10 of them.
var result = Enumerable.Range(1,101).OrderBy(g => Guid.NewGuid()).Take(10).ToArray();
- و یک بحث مفصل در مورد تولید اعداد تکراری منحصربفرد
‫۷ سال و ۹ ماه قبل، چهارشنبه ۸ دی ۱۳۹۵، ساعت ۱۴:۴۰
- این سطر فقط برای دیباگ هست. حذفش کنید.
- اگر change tracking را خاموش کردید، نیاز هست ابتدای متد SaveAllChanges کار فراخوانی this.ChangeTracker.DetectChanges را دستی انجام دهید تا لیست موجودیت‌های تغییر کرده قابل گزارشگیری باشد.
‫۷ سال و ۹ ماه قبل، چهارشنبه ۸ دی ۱۳۹۵، ساعت ۱۳:۱۱
جائیکه InvalidateCacheDependencies در متد SaveChanges فراخوانی شده، یک break point قرار دهید و بررسی کنید که آیا فراخوانی می‌شود یا خیر و همچنین پارامتر changedEntityNames آن چه مقداری را دارد. به علاوه از کلاس جدید ChangeTrackerExtenstions آن نیز برای تامین this.GetChangedEntityNames استفاده کنید.
‫۷ سال و ۹ ماه قبل، دوشنبه ۶ دی ۱۳۹۵، ساعت ۲۲:۲۱
- UserManager برای ذخیره سازی اطلاعات از UserStore استفاده می‌کند.
- تمام اینترفیس‌های Identity دارای پیاده سازی‌های پیش فرضی هم هستند که امکان سفارشی سازی آن‌ها در لایه سرویس برنامه جاری پیش بینی شده‌است.