/// <summary>
        /// Configures Rebus to use SQL Server to store sagas, using the tables specified to store data and indexed properties respectively.
        /// </summary>
        public static void StoreInSqlServer(this StandardConfigurer <ISagaStorage> configurer,
                                            Func <Task <IDbConnection> > connectionFactory, string dataTableName, string indexTableName,
                                            bool automaticallyCreateTables = true)
        {
            if (configurer == null)
            {
                throw new ArgumentNullException(nameof(configurer));
            }
            if (connectionFactory == null)
            {
                throw new ArgumentNullException(nameof(connectionFactory));
            }
            if (dataTableName == null)
            {
                throw new ArgumentNullException(nameof(dataTableName));
            }
            if (indexTableName == null)
            {
                throw new ArgumentNullException(nameof(indexTableName));
            }

            configurer.Register(c =>
            {
                var rebusLoggerFactory = c.Get <IRebusLoggerFactory>();
                var connectionProvider = new DbConnectionFactoryProvider(connectionFactory, rebusLoggerFactory);
                var sagaStorage        = new SqlServerSagaStorage(connectionProvider, dataTableName, indexTableName, rebusLoggerFactory);

                if (automaticallyCreateTables)
                {
                    sagaStorage.EnsureTablesAreCreated();
                }

                return(sagaStorage);
            });
        }
        public ISagaStorage GetSagaStorage()
        {
            var storage = new SqlServerSagaStorage(new DbConnectionProvider(SqlTestHelper.ConnectionString), DataTableName, IndexTableName);

            storage.EnsureTablesAreCreated();

            return(storage);
        }
        public ISagaStorage GetSagaStorage()
        {
            var consoleLoggerFactory = new ConsoleLoggerFactory(true);
            var connectionProvider   = new DbConnectionProvider(SqlTestHelper.ConnectionString, consoleLoggerFactory);
            var storage = new SqlServerSagaStorage(connectionProvider, DataTableName, IndexTableName, consoleLoggerFactory);

            storage.EnsureTablesAreCreated();

            return(storage);
        }
Beispiel #4
0
    public ISagaStorage GetSagaStorage()
    {
        var consoleLoggerFactory   = new ConsoleLoggerFactory(true);
        var connectionProvider     = new DbConnectionProvider(SqlTestHelper.ConnectionString, consoleLoggerFactory);
        var sagaTypeNamingStrategy = new LegacySagaTypeNamingStrategy();
        var serializer             = new DefaultSagaSerializer();
        var storage = new SqlServerSagaStorage(connectionProvider, DataTableName, IndexTableName, consoleLoggerFactory, sagaTypeNamingStrategy, serializer);

        storage.EnsureTablesAreCreated();

        return(storage);
    }
Beispiel #5
0
        protected override void SetUp()
        {
            var loggerFactory = new ConsoleLoggerFactory(false);

            _connectionProvider = new DbConnectionProvider(SqlTestHelper.ConnectionString, loggerFactory);

            _dataTableName  = TestConfig.GetName("sagas");
            _indexTableName = TestConfig.GetName("sagaindex");

            SqlTestHelper.DropTable(_indexTableName);
            SqlTestHelper.DropTable(_dataTableName);

            _storage = new SqlServerSagaStorage(_connectionProvider, _dataTableName, _indexTableName, loggerFactory);
        }
        protected override void SetUp()
        {
            var loggerFactory      = new ConsoleLoggerFactory(false);
            var connectionProvider = new DbConnectionProvider(SqlTestHelper.ConnectionString, loggerFactory);

            var dataTableName  = TestConfig.QueueName("sagas");
            var indexTableName = TestConfig.QueueName("sagaindex");

            SqlTestHelper.DropTable(indexTableName);
            SqlTestHelper.DropTable(dataTableName);

            _storage = new SqlServerSagaStorage(connectionProvider, dataTableName, indexTableName, loggerFactory);

            _storage.EnsureTablesAreCreated();
        }
Beispiel #7
0
        protected override void SetUp()
        {
            var loggerFactory = new ConsoleLoggerFactory(false);

            _connectionProvider = new DbConnectionProvider(SqlTestHelper.ConnectionString, loggerFactory);
            var sagaTypeNamingStrategy = new LegacySagaTypeNamingStrategy();
            var serializer             = new DefaultSagaSerializer();

            _dataTableName  = TestConfig.GetName("sagas");
            _indexTableName = TestConfig.GetName("sagaindex");

            SqlTestHelper.DropTable(_indexTableName);
            SqlTestHelper.DropTable(_dataTableName);

            _storage = new SqlServerSagaStorage(_connectionProvider, _dataTableName, _indexTableName, loggerFactory, sagaTypeNamingStrategy, serializer);
        }
        /// <summary>
        /// Configures Rebus to use SQL Server to store sagas, using the tables specified to store data and indexed properties respectively.
        /// </summary>
        public static void StoreInSqlServer(this StandardConfigurer <ISagaStorage> configurer,
                                            string connectionStringOrConnectionStringName, string dataTableName, string indexTableName,
                                            bool automaticallyCreateTables = true
#if NET45
                                            , bool enlistInAmbientTransaction = false
#endif
                                            )
        {
            if (configurer == null)
            {
                throw new ArgumentNullException(nameof(configurer));
            }
            if (connectionStringOrConnectionStringName == null)
            {
                throw new ArgumentNullException(nameof(connectionStringOrConnectionStringName));
            }
            if (dataTableName == null)
            {
                throw new ArgumentNullException(nameof(dataTableName));
            }
            if (indexTableName == null)
            {
                throw new ArgumentNullException(nameof(indexTableName));
            }

            configurer.Register(c =>
            {
                var rebusLoggerFactory = c.Get <IRebusLoggerFactory>();
                var connectionProvider = new DbConnectionProvider(connectionStringOrConnectionStringName, rebusLoggerFactory
#if NET45
                                                                  , enlistInAmbientTransaction
#endif
                                                                  );
                var sagaStorage = new SqlServerSagaStorage(connectionProvider, dataTableName, indexTableName, rebusLoggerFactory);

                if (automaticallyCreateTables)
                {
                    sagaStorage.EnsureTablesAreCreated();
                }

                return(sagaStorage);
            });
        }
    /// <summary>
    /// Configures Rebus to use SQL Server to store sagas, using the tables specified to store data and indexed properties respectively.
    /// </summary>
    public static void StoreInSqlServer(this StandardConfigurer <ISagaStorage> configurer, SqlServerSagaStorageOptions options, string dataTableName, string indexTableName)
    {
        if (configurer == null)
        {
            throw new ArgumentNullException(nameof(configurer));
        }
        if (options == null)
        {
            throw new ArgumentNullException(nameof(options));
        }
        if (dataTableName == null)
        {
            throw new ArgumentNullException(nameof(dataTableName));
        }
        if (indexTableName == null)
        {
            throw new ArgumentNullException(nameof(indexTableName));
        }

        configurer.Register(c =>
        {
            var rebusLoggerFactory     = c.Get <IRebusLoggerFactory>();
            var connectionProvider     = options.ConnectionProviderFactory(c);
            var sagaTypeNamingStrategy = GetSagaTypeNamingStrategy(c, rebusLoggerFactory);
            var serializer             = c.Has <ISagaSerializer>(false) ? c.Get <ISagaSerializer>() : new DefaultSagaSerializer();

            var sagaStorage = new SqlServerSagaStorage(
                connectionProvider: connectionProvider,
                dataTableName: dataTableName,
                indexTableName: indexTableName,
                rebusLoggerFactory: rebusLoggerFactory,
                sagaTypeNamingStrategy: sagaTypeNamingStrategy,
                sagaSerializer: serializer
                );

            if (options.EnsureTablesAreCreated)
            {
                sagaStorage.EnsureTablesAreCreated();
            }

            return(sagaStorage);
        });
    }
    /// <summary>
    /// Configures Rebus to use SQL Server to store sagas, using the tables specified to store data and indexed properties respectively.
    /// </summary>
    public static void StoreInSqlServer(this StandardConfigurer <ISagaStorage> configurer,
                                        string connectionString, string dataTableName, string indexTableName,
                                        bool automaticallyCreateTables = true, bool enlistInAmbientTransaction = false)
    {
        if (configurer == null)
        {
            throw new ArgumentNullException(nameof(configurer));
        }
        if (connectionString == null)
        {
            throw new ArgumentNullException(nameof(connectionString));
        }
        if (dataTableName == null)
        {
            throw new ArgumentNullException(nameof(dataTableName));
        }
        if (indexTableName == null)
        {
            throw new ArgumentNullException(nameof(indexTableName));
        }

        configurer.Register(c =>
        {
            var rebusLoggerFactory     = c.Get <IRebusLoggerFactory>();
            var connectionProvider     = new DbConnectionProvider(connectionString, rebusLoggerFactory, enlistInAmbientTransaction);
            var sagaTypeNamingStrategy = GetSagaTypeNamingStrategy(c, rebusLoggerFactory);
            var serializer             = c.Has <ISagaSerializer>(false) ? c.Get <ISagaSerializer>() : new DefaultSagaSerializer();

            var sagaStorage = new SqlServerSagaStorage(connectionProvider, dataTableName, indexTableName, rebusLoggerFactory, sagaTypeNamingStrategy, serializer);

            if (automaticallyCreateTables)
            {
                sagaStorage.EnsureTablesAreCreated();
            }

            return(sagaStorage);
        });
    }