C# 在不实例化hangfire服务器的情况下删除hangfire作业
我有两个独立的应用程序。一个使用HangFire并安排一个定期作业。另一个包含测试。测试是集成的,因此它们重用实际路径而不模仿任何东西。两个应用都可以访问相同的数据库 运行测试后,会出现由第一个应用程序创建的定期作业,这是理想的。然而,由于测试是集成的-它是在生产数据库上运行的,所以在测试完成后,我想删除创建的重复作业。我想在测试中处理删除 我想知道我是否可以在第二个应用程序中配置hangfire类,以允许我删除第一个应用程序创建的重复作业 如果我只是在第二个应用程序中配置一个hangfire使用相同的SQL server,那么将实例化一个新的HangFireServer,它将开始“抓取”作业以执行 我可以运行SQL查询来删除作业,但我希望避免这种情况C# 在不实例化hangfire服务器的情况下删除hangfire作业,c#,asp.net,hangfire,C#,Asp.net,Hangfire,我有两个独立的应用程序。一个使用HangFire并安排一个定期作业。另一个包含测试。测试是集成的,因此它们重用实际路径而不模仿任何东西。两个应用都可以访问相同的数据库 运行测试后,会出现由第一个应用程序创建的定期作业,这是理想的。然而,由于测试是集成的-它是在生产数据库上运行的,所以在测试完成后,我想删除创建的重复作业。我想在测试中处理删除 我想知道我是否可以在第二个应用程序中配置hangfire类,以允许我删除第一个应用程序创建的重复作业 如果我只是在第二个应用程序中配置一个hangfire使
我希望我解释得足够清楚 假设您使用id创建了定期作业,您只需执行RecurringJob.RemoveiExists(“id”),如文档页所述:在Hangfire中,只要您先填充JobStorage,您就可以删除/添加作业,无论是定期作业还是后台作业 可能有两种设置方法
JobStorage.Current = new SqlServerStorage("Your ConnectionString");;
或
然后您现在可以使用您的
RecurringJob.removiefexists(“id”)
,无需实例化Hangfire服务器。假设您在提交其他应用程序之前已经创建了Hangfire方案。是的,我知道id。您链接的内容无法回答我的问题。我不知道如何在第二个应用程序中配置HangFire,因此它不会做任何事情,但同时允许我使用RecurringJob.RemoveiExists(“id”)
是否使用数据库存储作业?因为我认为您可以引用Hangfire,使用正确的数据库配置它,然后删除作业。你可以考虑把吊挂在一个库中,并从你想用它的地方使用它。正如我在问题中所说的,是的,我确实使用了DB。两个应用程序都可以访问此数据库。你是说如果我写下GlobalConfiguration.Configuration.UseSqlServerStorage(connectionString)如果我不写app.UseHangfireServer()代码>那么我仍然可以删除一份工作?很抱歉反应太晚-很高兴你找到了:)这正是我要找的。谢谢
GlobalConfiguration.Configuration.UseSqlServerStorage("Your ConnectionString");