public CacheSearchHistoryService(ICacheManager cacheManager, ILoggerFactory loggerFactory,
                                  ICacheSettingService <TCacheSetting> cacheSettingService, ILimitSettingService <TLimitSetting> limitSettingService)
 {
     CacheManager        = cacheManager.NotNull(nameof(cacheManager));
     Logger              = loggerFactory.NotNull(nameof(loggerFactory)).CreateLogger(GetType()).NotNull(nameof(Logger));
     CacheSettingService = cacheSettingService.NotNull(nameof(cacheSettingService));
     LimitSettingService = limitSettingService.NotNull(nameof(limitSettingService));
 }
 public DatabaseSearchHistoryService(IGenericStore <IncomingRequest> incomingRequestStore, IGenericStore <OutgoingRequest> outgoingRequestStore,
                                     ICacheSettingService <TCacheSetting> cacheSettingService, ILimitSettingService <TLimitSetting> limitSettingService,
                                     ILoggerFactory loggerFactory, ISystemClock systemClock, IAsyncLock asyncLock)
 {
     IncomingRequestStore = incomingRequestStore.NotNull(nameof(incomingRequestStore));
     OutgoingRequestStore = outgoingRequestStore.NotNull(nameof(outgoingRequestStore));
     CacheSettingService  = cacheSettingService.NotNull(nameof(cacheSettingService));
     LimitSettingService  = limitSettingService.NotNull(nameof(limitSettingService));
     Logger      = loggerFactory.NotNull(nameof(loggerFactory)).CreateLogger(GetType()).NotNull(nameof(Logger));
     SystemClock = systemClock.NotNull(nameof(systemClock));
     AsyncLock   = asyncLock.NotNull(nameof(asyncLock));
 }