Я пытаюсь интегрировать Hangfire в свое приложение с помощью документации на их сайте, однако, я получаю эту ошибку при попытке запустить приложение
System.ArgumentException: 'Format of the initialization string does not conform to specification starting at index 0.'
наэта строка кода в моем файле Startup.cs:
services.AddHangfire(x => x.UseSqlServerStorage("HangfireDb"));
Сначала я добавил Db, используя Entity Framework Code, и вот как выглядят эти файлы:
public partial class HangfireDbContext : DbContext
{
public HangfireDbContext(DbContextOptions<HangfireDbContext> options) : base(options) { }
}
ИспользованиеDBFactory, который вызывает строку подключения, хранящуюся в файле appsettings.
public class HangfireDbContextFactory : IDesignTimeDbContextFactory<HangfireDbContext>
{
public HangfireDbContext CreateDbContext(string[] args)
{
var basePath = AppContext.BaseDirectory;
var environmentName = Environment.GetEnvironmentVariable(DalConstants.HostingEnvironment);
return Create(basePath, environmentName);
}
private HangfireDbContext Create(string basePath, string environmentName)
{
IConfigurationRoot config = new ConfigurationBuilder()
.SetBasePath(basePath)
.AddJsonFile(DalConstants.AppSettingsName)
.Build();
string connectionString = config.GetConnectionString(DalConstants.HangfireDb);
if (string.IsNullOrWhiteSpace(connectionString))
{
throw new InvalidOperationException($"Could not find a connection string named '{DalConstants.HangfireDb}'.");
}
var optionsBuilder = new DbContextOptionsBuilder<HangfireDbContext>();
optionsBuilder.UseSqlServer(connectionString);
return new HangfireDbContext(optionsBuilder.Options);
}
}
appsettings.json
"ConnectionStrings": {
"HangfireDb": "Server=serverName;User Id=userName;password=userPassword;Database=HangfireDb;MultipleActiveResultSets=true"
},
Я запустил миграцию, и база данных успешно создана, и проблем там нет.Есть что-то, чего я здесь не хватает?Благодарю.