‫۵ سال و ۲ ماه قبل، پنجشنبه ۲۷ تیر ۱۳۹۸، ساعت ۱۵:۵۶
برای عزل آن یا از نام بسته‌ی NuGet استفاده کنید و یا مسیر کامل پوشه‌ای که فایل template.config در آن قرار دارد:
dotnet new -u <NUGET_PACKAGE_ID>
dotnet new -u <ABSOLUTE_Path to template.config folder>
‫۵ سال و ۲ ماه قبل، چهارشنبه ۱۹ تیر ۱۳۹۸، ساعت ۱۶:۵۹
یک نکته‌ی تکمیلی
این نوع استثناءها (استثنایی رخ داده، اما توسط یک استثناءگردان مدیریت شده ) در NET Core. به شکل زیر ظاهر می‌شوند:
Exception thrown: 'System.FormatException' in System.Private.CoreLib.dll
اگر از VSCode استفاده می‌کنید، برای توقف بر روی آن‌ها فقط کافی است گزینه‌ی All Exceptions را انتخاب کنید:

- دقیقا در سطر بعد از لاگین (await HttpContext.SignInAsync)؟ خیر. در درخواست بعدی‌است که کوکی آن خوانده شد و سپس مقدار دهی می‌شود.
- در کل ClaimsIdentity.IsAuthenticated وقتی false است که ClaimsIdentity.AuthenticationType مقدار دهی نشده باشد (برای مثال ()new ClaimsIdentity بدون پارامتر سازنده‌ی آن که authenticationType است، تعریف شده باشد) یا می‌تواند مشکل عدم رعایت تقدم و تاخر ثبت میان‌افزارها باشد، یا حتی عدم تعریف اسکیمای مرتبط (AuthenticationScheme) در فایل Startup.
این طراحی ارتباطی به فایل appsettings.json ندارد؛ چون بحث ذخیره سازی داده‌ها در یک بانک اطلاعاتی رابطه‌ای غیر شیءگرا در اینجا مطرح است و همچنین امکان نگاشت مقادیر آن توسط امکانات EF Core. ولی در کل امکان یک چنین نگاشت‌هایی از EF Core 2.1 به بعد، تحت قابلیت جدیدی به نام «تبدیلگرهای مقدار»، به آن اضافه شده‌است: «یک مثال تکمیلی: روش ذخیره‌ی آرایه‌ای از رشته‌ها» و یا «کار با فیلدهایی از نوع JSON در EF Core و یک نمونه‌ی دیگر »
‫۵ سال و ۲ ماه قبل، چهارشنبه ۱۲ تیر ۱۳۹۸، ساعت ۲۳:۴۰
- در ASP.NET Core، یکسری key/value pair مانند HttpContext.Request.Query و HttpContext.Request.Form و ... به صورت مجزایی وجود دارند. البته روش بهتر استفاده از Model Binding است.
+ سمت سرور مطلب جاری در ASP.NET Core، با سمت سرور مطلب «بررسی روش آپلود فایل‌ها از طریق یک برنامه‌ی Angular به یک برنامه‌ی ASP.NET Core» یکی هست. آن مطلب را از قسمت «دریافت فرم درخواست پشتیبانی در سمت سرور و ذخیره‌ی فایل‌های آن‌» به بعد مطالعه کنید.
+  نکته‌ی تکمیلی «در نسخه‌ی اخیر افزونه jquery-ajax-unobtrusive، ارسال فایل با استفاده از FormData نیز به صورت توکار پشتیبانی می‌شود» را هم مدنظر داشته باشید. یعنی برای سمت کلاینت نیازی به نوشتن کدهای خاصی برای ارسال فایل به سمت سرور نیست (نیازی نیست کد جی‌کوئری بنویسید). همینکه به صورت معمولی از افزونه‌ی jquery-ajax-unobtrusive استفاده کنید، تمام نکات آن مانند قبل است.
‫۵ سال و ۲ ماه قبل، سه‌شنبه ۱۱ تیر ۱۳۹۸، ساعت ۱۴:۲۲
نیازی به درج آن به صورت جداگانه نیست (البته بحث تطابق Id دریافتی از توکن (و نه view-model البته)، با Id جاری شخص باید صورت گیرد). چون زمانیکه توکن را تولید می‌کنید، Id کاربر لاگین شده‌ی به سیستم هم در آن توکن به صورت یک ClaimTypes.NameIdentifier وجود دارد و پس از اعتبارسنجی درخواست با ارسال توکن به سمت سرور، جزئی از HttpContext.User.Identity as ClaimsIdentity استاندارد می‌شود. این اطلاعات هم توسط کاربر قابل تغییر و دستکاری نیست؛ حتی اگر توکن رمزنگاری هم نشده باشد. مرحله‌ی اعتبارسنجی توکن که رخ می‌دهد، یکی از کارهای آن، بررسی امضای دیجیتال توکن دریافتی از سمت کاربر هست. به همین جهت توکن دستکاری شده، هیچگاه به مرحله‌ی تولید و لحاظ شدن در HttpContext.User.Identity نمی‌رسد.
بنابراین آیا باید به Id کاربر ارسالی توسط view-model اطمینان کرد؟ خیر. این Id کاربر اصلا نباید در view-model وجود داشته باشد. از id موجود در خود توکن برای تشخیص کاربر استفاده کنید. این Id پس از تعیین اعتبار توکن، معتبر است و نیاز به بررسی و لایه‌های بیشتری ندارد.
برای ویرایش یک رکورد، ابتدا UserId اصلی آن‌را استخراج کنید. بعد این UserId ردیف بانک اطلاعاتی را با مقدار ClaimTypes.NameIdentifier استخراجی از توکن دریافتی از کاربر، تطابق دهید؛ اگر یکی نبودند، یعنی این رکورد متعلق به کاربر جاری لاگین شده‌ی به سیستم نیست و حق ویرایش آن‌را ندارد (البته اگر آن کاربر ادمین نیست).