如何解决.NET Core Worker服务主机作为Windows服务使用Coravel进行任务调度
我已经创建了一个工人服务来使用Coravel计划一个任务,它是一个.NET Standard库,并且按预期运行。我想与Windows服务一样托管。
Host.CreateDefaultBuilder(args)
.UseWindowsService()
.ConfigureServices((hostContext,services) =>
{
services.AddScheduler();
services.AddHostedService<Worker>(); //background service
}
但是我正在使用Corvel Invocable,所以有什么方法可以实现与Windows服务相同的托管?喜欢:
public static void Main(string[] args)
{
IHost host = CreateHostBuilder(args).Build();
host.Services.UseScheduler(scheduler =>
{
scheduler.Schedule<CsvGenerationInvocable>().EveryMinute();
});
host.Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseWindowsService()
.ConfigureServices((hostContext,services) =>
{
services.AddScheduler();
services.AddHostedService<CsvGenerationInvocable>(); // Error no implicit conversion to IHostedService
}
Corval可调用:
public class CsvGenerationInvocable : IInvocable
{
public async Task Invoke()
{
//Logic
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。