‫۵ سال و ۶ ماه قبل، سه‌شنبه ۲۱ اسفند ۱۳۹۷، ساعت ۱۲:۵۰
آیا راهی وجود دارد که از طریق فیلترها بتوان کتابخونه فوق رو شبیه به OutputCache  به صورت زیر کپسوله و طراحی کرد:
 [OutputCache(Duration = 60, VaryByParam = "none")]
یعنی 
[ServiceFilter(typeof(LockFilter(Duration = 60, VaryByParam = "none" )))]  
‫۵ سال و ۶ ماه قبل، دوشنبه ۲۰ اسفند ۱۳۹۷، ساعت ۱۴:۱۱
یکی از روش‌های مقابله با مشکل فوق استفاده از کلاس SemaphoreSlim می باشد که در NET Framework 4.0 معرفی شده و در فضای نام  System.Threading در دسترس می‌باشد.
اگر اکشن متد‌های شما به صورت async await ایجاد کرده اید بهتر هست  ابتدا کلاس زیر را ایجاد نمایید:
using System;
using System.Threading;
using System.Threading.Tasks;
 
namespace MyApp
{
    public class AsyncLock : IDisposable
    {
        private SemaphoreSlim _semaphoreSlim = new SemaphoreSlim(1, 1);
 
        public async Task<AsyncLock> LockAsync()
        {
            await _semaphoreSlim.WaitAsync();
            return this;
        }
 
        public void Dispose()
        {
            _semaphoreSlim.Release();
        }
    }
}
سپس به صورت زیر از آن استفاده کنید:
private static readonly AsyncLock _mutex = new AsyncLock();
 
using(await _mutex.LockAsync())
{
    // Critical section... You can await here!
}
در این صورت تمامی درخواست‌های به سمت سرور به ترتیب اجرا خواهند شد و دیگر مشکل فوق را نخواهیم داشت.
‫۵ سال و ۶ ماه قبل، یکشنبه ۱۹ اسفند ۱۳۹۷، ساعت ۱۴:۲۱
چطور می‌توان به کمک Middleware‌ها درخواست‌های سمت کلاینت را به ترتیب اجرا کرد؟ یعنی اگر به صورت همزمان چندین درخواست به سرور ارسال شده باشد بتوان به ترتیب درخواست‌ها را اجرا کرد به عبارت دیگر تا پاسخ درخواست اول به کلاینت برگشت داده نشده باشد درخواست دوم اجرا نشود؟
‫۵ سال و ۷ ماه قبل، چهارشنبه ۱۷ بهمن ۱۳۹۷، ساعت ۱۳:۵۳
چرا با وجود اعمال این نکته تک پارامترها به صورت زیر Bind نمی‌شوند؟ 
[HttpPost("[action]")]
public bool Test([Required]string name)
  {
     return true;
  }

در ضمن در کامنت‌های قبلی هم به نکته‌ای در مورد تک پارامترها در ASP.NET Core  اشاره کرده بودید ولی همواره مقدار دریافتی نال خواهد شد.
‫۵ سال و ۷ ماه قبل، یکشنبه ۱۴ بهمن ۱۳۹۷، ساعت ۱۲:۱۷
فرض کنید در ابتدای یک Handler، یک Handler دیگر را فراخوانی می‌کنیم (شبیه Handler فوق که در آن عمل Save و Event ای Raise شده است) اگر این Handler با خطا مواجه شود چطور می‌توان سیستم را به حالت اولیه برگرداند؟
منظور بنده وهله سازی کلاس Lazy در «تنظیمات اولیه‌ی ثبت سرویس‌ها» بود که  برای تمام سرویس ها  در کلاس startup برنامه فقط یک بار  این کلاس را وهله سازی نماییم و مجبور نباشیم به ازای هر سرویس این کار را تکرار کنیم؟ خواستم بدونم نحوه انجام این کار در Ioc Container توکار  NET Core. یا از طریق کتابخانه  Scrutor  به چه صورتی انجام می‌شود؟ 
در مثال دوم چطور می‌توان با وهله سازی یک بار کلاس Lazy، تمامی وابستگی‌های سرویس‌های مورد نیاز ثبت شده را به صورت Lazy Loading فراخوانی کرد تا اینکه مجبور نباشیم برای هر سرویس، کلاس Lazy را وهله سازی نماییم؟
آیا در هنگام استفاده از الگوی Service Locator در مکان‌های ویژه فوق امکان استفاده از lazy  به صورت زیر وجود دارد؟ 
private readonly Lazy<ITestService> _testService;

public TestController(Lazy<ITestService> testService)
{
    this._testService= testService;
}

نمونه ای از نحوه پیاده سازی ROW_NUMBER در EF:
using System;
using System.Linq;
 
public class Test
{
public static void Main()
{
var beatles = (new[]
            {
                new {id = 1, inst = "guitar", name = "john"},
                new {id = 2, inst = "guitar", name = "george"},
                new {id = 3, inst = "guitar", name = "paul"},
                new {id = 4, inst = "drums", name = "ringo"},
                new {id = 5, inst = "drums", name = "pete"}
            });
 
            var result = beatles
                .GroupBy(g => g.inst)
                .Select(c => c.OrderBy(o => o.id).Select((v, i) => new { i, v }).ToList())
                .SelectMany(c => c)
                .Select(c => new { c.v.id, c.v.inst, c.v.name, rn = c.i + 1 })
                .ToList();
 
            Console.WriteLine("id | inst \t| name  \t| rn");
            foreach (var row in result)
            {
                Console.WriteLine($"{row.id}  | {row.inst}\t| {row.name}  \t| {row.rn}");
            }     
}
}
با این خروجی:
id | inst | name  | rn
1  | guitar| john  | 1
2  | guitar| george  | 2
3  | guitar| paul  | 3
4  | drums| ringo  | 1
5  | drums| pete  | 2