wanlitao / HangfireExtension

Hangfire Extension plugins
Apache License 2.0
22 stars 32 forks source link

Improve connection string handling #23

Closed 0xced closed 2 years ago

0xced commented 6 years ago

Accept connection string only as parameter to SQLiteStorage constructor

By requiring an explicit connection string, there is no guessing involved, this fixes #18.

Also, getting the connection string from a configuration file in .NET Core is unlikely to be from an App.config file through System.Configuration.ConfigurationManager. It is more likely to be from an appsettings.json file using code following the JSON Configuration idiom of .NET Core:

IConfigurationBuilder builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json");
IConfiguration configuration = builder.Build();
string hangfireConnectionString = configuration.GetConnectionString("Hangfire");

This also greatly simplifies the implementation and removes the dependency on System.Configuration.

Also simplify connection string parsing by using SqliteConnectionStringBuilder/SQLiteConnectionStringBuilder