diff --git a/.gitignore b/.gitignore index a6b9eb3..7958ee8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. +.localhistory .nupkg # User-specific files diff --git a/src/Hangfire.Raven/Repository.cs b/src/Hangfire.Raven/Repository.cs index 7acd9d8..37ce473 100644 --- a/src/Hangfire.Raven/Repository.cs +++ b/src/Hangfire.Raven/Repository.cs @@ -19,6 +19,7 @@ namespace HangFire.Raven { public class Repository : IDisposable { + public static string ConnectionString { get; set; } public static string ConnectionUrl { get; set; } public static string DefaultDatabase { get; set; } @@ -62,10 +63,20 @@ namespace HangFire.Raven ((EmbeddableDocumentStore)_documentStore).Configuration.Storage.Voron.AllowOn32Bits = true; } else { - _documentStore = new DocumentStore + if (!string.IsNullOrEmpty(ConnectionString)) { - Url = ConnectionUrl - }; + _documentStore = new DocumentStore + { + ConnectionStringName = ConnectionString + }; + } + else + { + _documentStore = new DocumentStore + { + Url = ConnectionUrl + }; + } } _documentStore.Conventions.DefaultQueryingConsistency = ConsistencyOptions.AlwaysWaitForNonStaleResultsAsOfLastWrite; diff --git a/src/Hangfire.Raven/Storage/RavenStorageExtensions.cs b/src/Hangfire.Raven/Storage/RavenStorageExtensions.cs index 7f67897..28f2f70 100644 --- a/src/Hangfire.Raven/Storage/RavenStorageExtensions.cs +++ b/src/Hangfire.Raven/Storage/RavenStorageExtensions.cs @@ -24,6 +24,18 @@ namespace HangFire.Raven.Storage { public static class SqlServerStorageExtensions { + public static IGlobalConfiguration UseRavenStorage(this IGlobalConfiguration configuration, string connectionString) + { + configuration.ThrowIfNull("configuration"); + connectionString.ThrowIfNull("connectionString"); + + Repository.ConnectionString = connectionString; + + var storage = new RavenStorage(); + + return configuration.UseStorage(storage); + } + public static IGlobalConfiguration UseRavenStorage(this IGlobalConfiguration configuration, string connectionUrl, string database) { configuration.ThrowIfNull("configuration");