База данных Hangfire не создается после установки - PullRequest
1 голос
/ 05 марта 2019

Я установил зависание с Nuget.

PM> Install-Package Hangfire

Затем обновил класс запуска OWIN следующими строками:

public void Configuration(IAppBuilder app)
{
    GlobalConfiguration.Configuration.UseSqlServerStorage("MySqlConnection");

    app.UseHangfireDashboard();
    app.UseHangfireServer();
}

Я назвал имя строки подключения в файле web.config в качестве имени строки соединения в UseSqlServerStorage.

web.config:

<connectionStrings>
    <add name="MyEntities" connectionString="metadata=res://*/CRMModelContext.csdl|res://*/CRMModelContext.ssdl|res://*/CRMModelContext.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=xxx;persist security info=True;user id=sa;password=123;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="MySqlConnection" connectionString="User ID=sa;Initial Catalog=xxx;Password=123;Integrated Security=False;Data Source=." />

SQL Server 2008 R2 установлен в системе, но в нем отсутствует база данных для зависания.

Наконец, когда я запускаю программу, появляется ошибка ниже.

Моя работа:

BackgroundJob.Enqueue<Receiver>(x=>x.EmailReceiving());
RecurringJob.AddOrUpdate<Receiver>(x => x.EmailReceiving(), Cron.MinuteInterval(15));

ошибка:

 JobStorage.Current property value has not been initialized. You must set it before using Hangfire Client or Server API. 

1 Ответ

0 голосов
/ 05 марта 2019

GlobalConfiguration.Configuration.UseSqlServerStorage("MySqlConnection"); использует MySqlConnection в качестве строки подключения, а не значение MySqlConnection!

Используете ли вы MsSql Server или MySql Server?

Попробуйте:

GlobalConfiguration.Configuration.UseSqlServerStorage(ConfigurationManager.ConnectionStrings["MySqlConnection"].ConnectionString);
...