public ProductController(IMediator mediator, IProductQuery productQuery, IProductUnitQuery productUnitQuery) { _mediator = mediator; _productQuery = productQuery; _productUnitQuery = productUnitQuery; }
// alternatively use IDistributedCache if you use redis and multiple services public CacheProductUnitServiceDecorator(IProductUnitQuery productService, IMemoryCache cache) { this.productService = productService; this.cache = cache; // 1 day caching cacheOptions = new MemoryCacheEntryOptions() .SetAbsoluteExpiration(relative: TimeSpan.FromDays(1)); }
public CreateProductUnitCommandHandler(IProductUnitRepository productUnitRepository, IProductUnitQuery productUnitService, IMemoryCache cache) { _productUnitRepository = productUnitRepository; this.cache = cache; // 1 day caching cacheOptions = new MemoryCacheEntryOptions() .SetAbsoluteExpiration(relative: TimeSpan.FromDays(1)); }