//private readonly StripedAsyncLock<string> _lock = null; //private static SemaphoreSlim _lock = new SemaphoreSlim(1, 1); public ImageCachingMiddleware(RequestDelegate next, IOptions <ImageCachingOptions> optionsAccessor, ILogger <ImageCachingMiddleware> logger) { _next = next; _imageCachingOptions = optionsAccessor.Value; //_lock = new StripedAsyncLock<string>(stripes: _imageCachingOptions.MaxStripesForLockAsync); _logger = logger; }
public ImageCachingMiddleware( RequestDelegate next, IOptions <ImageCachingOptions> options, ILogger <ImageCachingMiddleware> logger) { _next = next; _options = options.Value; _logger = logger; _memoryCache ??= new MemoryCache(new MemoryCacheOptions { SizeLimit = _options.MaxCacheItems, }); }