/// <summary> /// Initializes PostgreSqlStorage from the provided PostgreSqlStorageOptions and either the provided connection /// string or the connection string with provided name pulled from the application config file. /// </summary> /// <param name="nameOrConnectionString">Either a SQL Server connection string or the name of /// a SQL Server connection string located in the connectionStrings node in the application config</param> /// <param name="options"></param> /// <exception cref="ArgumentNullException"><paramref name="nameOrConnectionString"/> argument is null.</exception> /// <exception cref="ArgumentNullException"><paramref name="options"/> argument is null.</exception> /// <exception cref="ArgumentException"><paramref name="nameOrConnectionString"/> argument is neither /// a valid SQL Server connection string nor the name of a connection string in the application /// config file.</exception> public PostgreSqlStorage(string nameOrConnectionString, PostgreSqlStorageOptions options) { if (nameOrConnectionString == null) { throw new ArgumentNullException("nameOrConnectionString"); } if (options == null) { throw new ArgumentNullException("options"); } _options = options; if (IsConnectionString(nameOrConnectionString)) { _connectionString = nameOrConnectionString; } else if (IsConnectionStringInConfiguration(nameOrConnectionString)) { _connectionString = ConfigurationManager.ConnectionStrings[nameOrConnectionString].ConnectionString; } else { throw new ArgumentException( string.Format("Could not find connection string with name '{0}' in application config file", nameOrConnectionString)); } if (options.PrepareSchemaIfNecessary) { using (var connection = CreateAndOpenConnection()) { PostgreSqlObjectsInstaller.Install(connection); } } var defaultQueueProvider = new PostgreSqlJobQueueProvider(options); QueueProviders = new PersistentJobQueueProviderCollection(defaultQueueProvider); }
private void InitializeQueueProviders() { var defaultQueueProvider = new PostgreSqlJobQueueProvider(_options); QueueProviders = new PersistentJobQueueProviderCollection(defaultQueueProvider); }