Пример #1
0
 /// <summary>
 /// Adds SQL Stream store backed configuraiton provider
 /// </summary>
 /// <param name="builder">The configuration builer that SSS will be aded to </param>
 /// <param name="streamStoreFactory">Builds the stream store implementation</param>
 /// <param name="subscribeToChanges">Should we subscribe to changes?</param>
 /// <param name="errorHandler">What to do if database is not available. </param>
 /// <param name="messageHooks">Message hooks that help you to implement encryption</param>
 /// <returns></returns>
 public static IConfigurationBuilder AddStreamStore(this IConfigurationBuilder builder,
                                                    BuildStreamStoreFromConfig streamStoreFactory,
                                                    bool subscribeToChanges   = false,
                                                    ErrorHandler errorHandler = null,
                                                    IConfigurationSettingsHooks messageHooks = null)
 {
     builder.Add(new StreamStoreConfigurationSource(streamStoreFactory)
     {
         SubscribeToChanges = subscribeToChanges,
         ErrorHandler       = errorHandler,
         MessageHooks       = messageHooks
     });
     return(builder);
 }
Пример #2
0
        public StreamStoreConfigurationSource(string connectionStringKey, BuildStreamStoreFromConnectionString streamStoreFactory)
        {
            _buildStreamStoreFromConfig = (c =>
            {
                var connectionString = c[connectionStringKey];

                if (string.IsNullOrEmpty(connectionString))
                {
                    throw new InvalidOperationException(
                        $"Cannot create SqlStreamStore repository, becuase connection string (key: '{connectionStringKey}') has not been configured.");
                }

                return(streamStoreFactory(connectionString));
            });
        }
Пример #3
0
 public StreamStoreConfigurationSource(BuildStreamStoreFromConfig buildStreamStoreFromConfig)
 {
     _buildStreamStoreFromConfig = buildStreamStoreFromConfig;
 }