Настройка Hangfire в Webapp и сервисе окон
Я настроил hangfire в проекте, основанном на webapi, для запуска задания backgrond. Я выполнил приведенную ниже конфигурацию для hangfire.
Конфигурация проекта Webapi для Hangfire
public static void ConfigureHangfire(IAppBuilder app)
{
GlobalConfiguration.Configuration.UseSqlServerStorage("Connnection_Dev");
IUnityContainer unityContainer = UnityConfig.GetConfiguredContainer();
UnityJobActivator unityJobActivator = new UnityJobActivator(unityContainer);
GlobalConfiguration.Configuration.UseActivator(unityJobActivator);
app.UseHangfireDashboard();
var options = new BackgroundJobServerOptions { WorkerCount = Environment.ProcessorCount * 20 };
app.UseHangfireServer(options);
}
Теперь я хочу обрабатывать фоновые задания (которые будут инициироваться из проекта webapi) с использованием оконных служб. Я создал оконную службу в соответствии с приведенным ниже кодом, но служба не может получить задание. Панель показывает, что задание всегда находится в состоянии ожидания. Есть ли какая-то особая конфигурация, которую мне не хватает
public partial class Service1 : ServiceBase
{
private BackgroundJobServer _server;
public Service1()
{
InitializeComponent();
GlobalConfiguration.Configuration.UseSqlServerStorage("Connnection_Dev");
}
protected override void OnStart(string[] args)
{
IUnityContainer unityContainer = UnityConfig.GetConfiguredContainer();
UnityJobActivator unityJobActivator = new UnityJobActivator(unityContainer);
var options = new BackgroundJobServerOptions { WorkerCount = Environment.ProcessorCount * 20 ,
Activator=unityJobActivator};
_server = new BackgroundJobServer(options);
_server.start();
}
protected override void OnStop()
{
_server.Dispose();
}
}