‫۸ سال و ۱۲ ماه قبل، چهارشنبه ۱۵ مهر ۱۳۹۴، ساعت ۲۰:۲۴
در بازخورد‌های قبلی همچین مشکلی گزارش شده بود و جواب داده شده است.
در این فایل  ، خط ۳۴ را کامنت کرده و خطوط ۳۵و۳۶ را unComment کنید.
‫۹ سال قبل، سه‌شنبه ۲۴ شهریور ۱۳۹۴، ساعت ۲۲:۱۸
با در نظر گرفتن همچین کلاسی میتوان امکان این را قرار داد که مدیر سایت هر وقت نیاز بود مثلا نوعی از لاگ‌ها رو غیر فعال کنه . 
برای مثال:
در جدول ActivityLogType رکورد‌های {Products,Categories,... } تحت عنوان گروه‌های لاگ فعالیت در نظر گرفته شده اند. این رکورد‌ها فیلدی به نام IsActive هم دارند که امکان تغییر آن به true /false وجود دارد. بیشتر به منظور Audit Log در نظر گرفته ام که امکان مدیریت پیشرفته ای را برای مدیر مهیا میکند.
‫۹ سال و ۱ ماه قبل، دوشنبه ۱۶ شهریور ۱۳۹۴، ساعت ۱۶:۳۳
بله حتما در اولین فرصتی که فراهم شود ، این کار را خواهم کرد. 
‫۹ سال و ۱ ماه قبل، سه‌شنبه ۳ شهریور ۱۳۹۴، ساعت ۲۰:۳۱
مشکلی مشاهده نشد.
متن خطا  نشان دهنده این مورد است که کتابخانه مورد نظر در پروژه موجود نیست . این کتابخانه را به صورت مجزا از nuget نصب کنید.
توجه: ورژن پروژه را در بازخورد خود صحیح وارد کنید. 
‫۹ سال و ۱ ماه قبل، دوشنبه ۱۹ مرداد ۱۳۹۴، ساعت ۱۸:۳۶
بعد از چند روز جستجو در نهایت مجبور شدم از SecurityStampValidator شخصی سازی شده  استفاده کنم. برای رسیدن به این هدف فقط کافی بود سورس Asp.net Identity  را بررسی کنم و کلاسی شخصی به نام CustomُSecurityStampValidator  ایجاد کردم و با گذاشتن Break Point متوجه شدم که در کد زیر :
   if (validate)
                {
                    var manager = context.OwinContext.GetUserManager<TManager>();
                    var userId = getUserIdCallback(context.Identity);
                    if (manager != null && userId != null)
                    {
manager با مقدار null مقدار دهی شده است. لذا به فایل Startup.cs مراجعه کردم و کد زیر را:
 appBuilder.CreatePerOwinContext(() => ProjectObjectFactory.Container.GetInstance<IApplicationUserManager>());
با کد :
 appBuilder.CreatePerOwinContext(
                () =>ProjectObjectFactory.Container.GetInstance<ApplicationUserManager>());
جایگزین کردم.
‫۹ سال و ۲ ماه قبل، شنبه ۱۰ مرداد ۱۳۹۴، ساعت ۰۹:۱۰
بهتر بود قبل ارسال بازخورد ، سرچ میزدم . ولی خب خالی از لطف نخواهد بود نتیجه به دست آمده .
برخلاف تصور بنده ، برای خود فریمورک همچین موردی را نیز در نظر گرفته اند . چند تاپیک را در این مورد مطالعه کردم  که یکی از آنها این تاپیک  است.راه حل به این صورت است :
 app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new PathString("/Account/Login"),
            Provider = new CookieAuthenticationProvider
            {
                // Enables the application to validate the security stamp when the user logs in.
                // This is a security feature which is used when you change a password or add an external login to your account.  
                OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                    validateInterval: TimeSpan.FromSeconds(0),
                    regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
            }
        });
در اینجا با تنظیم validateInterval با مقدار 0 ، لذا در هر درخواست SecurityStamp موجود در رکورد مربوط به کاربر در دیتابیس با مقدار ذخیره شده در کوکی او مقایسه میشود اگر تغییر نکرده باشد بازهم کوکی رفرش شده و ادامه ماجرا.. ولی اگر SecurityStamp موجود در دیتابیس تغییر کرده باشد  و با مقدار ذخیره شده در کوکی همخوانی نداشته باشد، کاربر LogOut شده و لازم است دوباره لاگین کند.
برای زمان بن کردن کاربر هم با فراخوانی متد 
await UserManager.UpdateSecurityStampAsync(userId);
میتوان دستی SecurityStamp مربوط به کاربر را ویرایش کرد تا هنگام مقایسه با مقدار موجود در کوکی به تناقض برسد و در نتیجه کاربر LogOut خواهد شد.
البته بازهم مشکل رفع نشده است!
‫۹ سال و ۲ ماه قبل، پنجشنبه ۸ مرداد ۱۳۹۴، ساعت ۲۳:۵۷
با تشکر از جناب نصیری.
بله فایل‌ها به صورت  UnTracked بودند و اصلا متوجه نشده بودم.
تغییرات را اعمال کردم.
‫۹ سال و ۲ ماه قبل، چهارشنبه ۷ مرداد ۱۳۹۴، ساعت ۲۰:۲۶
دلیل آنکه متد GetPagedList به خوبی کار میکرد. این بود که بنده فعلا نادیده گرفته  بودم فیلد‌های DateTime را
، مشکل را در کامنت فبلی گفتم خدمتتون و ربطی به متد‌های Async ندارد. پروایدر Linq توانایی ترجمه این نوع کوئری را ندارد.
تغییرات جدید را اعمال کردم (باز هم با متد‌های Async)
نتیجه:

‫۹ سال و ۲ ماه قبل، چهارشنبه ۷ مرداد ۱۳۹۴، ساعت ۱۸:۲۳
خب این تغییر صورت مسئله است. مسئله اینه که باید تاریخ عضویت و آخرین فعالیت نمایش داده شود. نه اینکه نادیده گرفته شود!
در کلاس  ApplicationUserManager در متد GetPagedList کد را به این صورت تغییر دهید.
    total = users.FutureCount();
            var query =
                users.OrderByUserName()
                    .SkipAndTake(search.PageIndex - 1, search.PageSize)
                    .Future().ToList();
            return _mappingEngine.Map<IList<UserViewModel>>(query);
ظاهرا توانایی ترجمه کوئری به صورت قبل وجود ندارد.