Hangfire: метод UseSqlServerStorage отсутствует
Я пытаюсь установить HangFire для проекта кода ASP.NET.
Когда я буду следовать официальному документу ( https://www.hangfire.io/blog/2016/07/16/hangfire-1.6.0.html) или другим ссылочным ресурсам ( http://www.dotnetjalps.com/2017/04/aspnet-core-hangfire-integation.html), это звучит ясно. Добавь это
services.AddHangfire(config=>config.UseSqlServerStorage(Configuration.GetConnectionString("MyConnectionString")));
Но это не работает. Этот метод расширения не существует. Я что-то пропустил?
2 ответа
Итак, я нашел ответ..
Мне пришлось удалить пакет HangFire, закрыть решение Visual Studio 2017 и очистить папки obj и bin.
Затем я снова открываю его, добавляю пакеты HangFire.AspNetCore и HangFire.SQLServer. Тогда это работает.
Возможно, вам не хватает пакета HangFire.SqlServer. Как только я добавил это к моему проекту, это сработало. Вы можете найти самую последнюю версию пакета здесь.
https://www.nuget.org/packages/HangFire.SqlServer/
У меня была похожая проблема, и она была вызвана тем, что у меня уже была глобальная конфигурация в моем автозагрузке, и она ссылалась на System.Web.Http.GlobalConfiguration. Теперь я думал, что Hangfire добавит этот UseSqlServerStorage() в качестве метода расширения, как, например, Swagger, но вместо этого Hangfire приносит свою собственную версию этого файла.
Ссылка на него напрямую работала на меня:
Hangfire.GlobalConfiguration.Configuration.UseSqlServerStorage("connection_string");