示例#1
0
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="localStorageHelper">Помощник локального хранилища.</param>
 /// <param name="configSettings">Конфигурационные настройки.</param>
 /// <param name="resourceErrors">Ресурс ошибок.</param>
 public CoreCachingStorageGlobal(
     CoreCachingStorageLocalHelper localStorageHelper,
     ICoreCachingConfigSettings configSettings,
     CoreCachingResourceErrors resourceErrors
     )
 {
     Helper  = new CoreCachingStorageGlobalHelper(localStorageHelper, configSettings, resourceErrors);
     Service = new CoreCachingStorageGlobalService(Helper);
 }
        /// <summary>
        /// Конструктор помощника для глобального хранилища.
        /// </summary>
        /// <param name="helper">Помощник для локального хранилища.</param>
        /// <param name="configSettings">Конфигурационные настройки.</param>
        public CoreCachingStorageGlobalHelper(
            CoreCachingStorageLocalHelper helper,
            ICoreCachingConfigSettings configSettings,
            CoreCachingResourceErrors coreCachingResourceErrors
            )
        {
            Helper = helper;

            DbIndex = configSettings.DbIndex;

            ChannelPatternForRemoveData    = Helper.CacheKeyPrefix + ".remove.*";
            ChannelPatternForRemoveAllData = Helper.CacheKeyPrefix + ".flush*";

            var options = string.IsNullOrWhiteSpace(configSettings.Hosts)
                ?
                          ConfigurationOptions.Parse(string.Concat(configSettings.Host, ":", configSettings.Port))
                :
                          ConfigurationOptions.Parse(configSettings.Hosts);

            options.AllowAdmin         = true;
            options.Password           = configSettings.Password;
            options.AbortOnConnectFail = false;
            options.ConnectTimeout     = configSettings.ConnectTimeout;

            Connection = ConnectionMultiplexer.Connect(options);

            if (!Connection.IsConnected)
            {
                throw new CoreBaseException(
                          string.Format(
                              coreCachingResourceErrors.GetStringFormatUnableToConnectToRedis(),
                              configSettings.CoreBaseExtJsonSerialize(CoreBaseExtJson.OptionsForLogger)
                              )
                          );
            }
        }
示例#3
0
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="memoryCache">Кэш в памяти.</param>
 /// <param name="configSettings">Конфигурационные настройки.</param>
 public CoreCachingStorageLocal(IMemoryCache memoryCache, ICoreCachingConfigSettings configSettings)
 {
     Helper  = new CoreCachingStorageLocalHelper(configSettings);
     Service = new CoreCachingStorageLocalService(Helper, memoryCache);
 }