/// <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); }
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); }
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(); }
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); }); }