‫۵ سال قبل، سه‌شنبه ۱۲ شهریور ۱۳۹۸، ساعت ۲۳:۱۳
- زمانیکه تعداد زیادی سرویس تزریق شده را به سازنده‌ی یک کلاس مشاهده می‌کنید، مشکل عدم رعایت اصل تک مسئولیتی نمایان می‌شود. یعنی این کلاس/کنترلر کارهای زیادی را قرار است انجام دهد. بنابراین می‌توان این کنترلر را به چند کنترلر کوچک‌تر و با مسئولیت‌های کمتر شکست.
- و یا اگر یک چنین سازنده‌ای را دارید:
      public MyController(ITransactionRepository transRepo;
                           IAccountRepository accountRepo;
                           ISystemsRepository sysRepo;
                           IScheduleRepository schRepo;
                           IProfileRepository profileRepo)
می‌توانید با استفاده از abstract factory pattern (^ و ^)، این Repositoryها را در لایه‌ی سرویس با هم ترکیب کنید و فقط یک سرویس ارائه دهنده‌ی این‌ها را در اختیار کنترلرهای مصرف کننده قرار دهید. 
‫۵ سال قبل، سه‌شنبه ۱۲ شهریور ۱۳۹۸، ساعت ۰۰:۰۲
 var encryptedConverter = new ValueConverter<string, string>(
               convertToProviderExpression: v => v, // How to save it: Do nothing --> Save it normally in the DB
               convertFromProviderExpression: v => new string(v.Reverse().ToArray()) // How to report it: Show it encrypted to the user
            );
یک نکته‌ی تکمیلی
برای نصب آخرین نگارش 3، می‌توان از * بجای ذکر نگارش دقیق استفاده کرد:
dotnet tool install --global dotnet-ef --version 3.0.0-*
و همچنین برای به روز رسانی به آخرین نگارش 3:
dotnet tool update --global dotnet-ef --version 3.0.0-*
‫۵ سال قبل، سه‌شنبه ۵ شهریور ۱۳۹۸، ساعت ۱۸:۴۸
مثال 6 ام این سری به همراه پردازش anti-forgery-token در برنامه‌های ASP.NET Core به همراه Kendo-UI نبود. نکات پایه آن با مطلب «افزودن و اعتبارسنجی خودکار Anti-Forgery Tokens در برنامه‌های Angular مبتنی بر ASP.NET Core» یکی است و به صورت خلاصه برای Kendo-UI به این صورت است. این روش با تمام اسکریپت‌های مبتنی بر jQuery Ajax کار می‌کند.
‫۵ سال قبل، سه‌شنبه ۵ شهریور ۱۳۹۸، ساعت ۱۷:۰۸
ارتقاء به ASP.NET Core 3.0

قسمت UseHealthChecks با endpoint routing به صورت زیر تغییر می‌کند که مزیت آن، امکان اعمال authorization و تنظیمات مرتبط با آن است:
public void Configure(IApplicationBuilder app)
{
    ...

    app.UseRouting();

    app.UseAuthentication();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints
            .MapHealthChecks("/healthz")
            .RequireAuthorization(new AuthorizeAttribute(){ Roles = "admin", });
    });
}
‫۵ سال قبل، دوشنبه ۴ شهریور ۱۳۹۸، ساعت ۰۱:۲۶
حالت پیش‌فرض serialization نام خواص در ASP.NET Core به صورت camelCase است:

در این‌حالت نام BlogType می‌شود blogType و نه blogtype. اگر خواستید Pascal Case (شبیه به syntax خواص در #C) شود، از این نکته استفاده کنید.
‫۵ سال قبل، شنبه ۲ شهریور ۱۳۹۸، ساعت ۱۶:۱۳
سورس کامل این سری را برای ASP.NET Core در اینجا KendoUI.Core.Samples می‌توانید مشاهده کنید. برای نمونه، مثال مرتبط با این قسمت، کنترلر 2 و view 2 است. تصویری که ارسال کردید شبیه به کنترلر 3 و view 3 است. مطمئن شوید که view متناظری را درحال استفاده هستید و فیلدهای data source آن درست تعریف شده و همچنین تعریف قسمت ستون‌های گرید، با آن متناظر است. به علاوه به بزرگی و کوچکی ابتدای نام فیلدهای تعریف شده دقت داشته باشید. سمت سرور، نام به صورت Name و در سمت کلاینت (به علت نوع serialization و تنظیمات آن)، باید name تعریف شود.