C# Plesk网站中的Hangfire重复作业不工作

C# Plesk网站中的Hangfire重复作业不工作,c#,plesk,hangfire,C#,Plesk,Hangfire,在Global.asax.cs文件中的C#MVC项目中,我有以下设置: ////hangfire config GlobalConfiguration.Configuration .UseSqlServerStorage("ContextName", new SqlServerStorageOptions { CommandBatchMaxTimeout = TimeSpan.FromMinutes(5), SlidingInvisib

在Global.asax.cs文件中的C#MVC项目中,我有以下设置:

 ////hangfire config
 GlobalConfiguration.Configuration
     .UseSqlServerStorage("ContextName", new SqlServerStorageOptions
     {
         CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
         SlidingInvisibilityTimeout = TimeSpan.FromMinutes(15),
         QueuePollInterval = TimeSpan.Zero,
         UseRecommendedIsolationLevel = true,
         UsePageLocksOnDequeue = true,
         DisableGlobalLocks = true
     })
     .UseRecommendedSerializerSettings();
 //.UseLog4NetLogProvider(); // this creates a bunch of logs that inflates the DB, only for testing purposes!
这段代码我尝试过修改,但我无法在生产中使用,在本地运行良好

BackgroundJobServer backgroundJobServer = new BackgroundJobServer();
RecurringJob.AddOrUpdate(() => MethodCalling(DateTime parameter), "0 8 * * *");
这在本地确实有效,但在我将其发布到Plesk环境时不起作用。 我也试过这样做:

RecurringJob.Trigger("Identifier here");
当然,在AddOrUpdate方法中设置了标识符,但我认为每次浏览站点时都会触发。我希望它在一年中的每一天早上8点运行

试图改变时间:

“00****”
设置为每小时运行一次,每月每天运行一次,甚至使用过时的
Cron.HourInterval(int)
,但它似乎会在我浏览网站时触发,或者如果我不浏览网站,则一天会触发+-3次,似乎可能是IIS回收周期

我还尝试将其更改为:

BackgroundJob.Enqueue(()=> MethodCalling(DateTime parameter));
当我检查我的数据库(使用EF)时,我可以清楚地看到它正在运行,但有些配置不正确,但我不知道是什么

欢迎提出任何建议! 非常感谢。
(注意:不使用.NET Core)

首先,让我们根据上面的讨论重新表述这个问题。您需要一个每日触发器来初始化某些任务,并且希望知道将解决方案部署到共享托管平台时可以有哪些选项

IIS/ASP.NET/ASP.NET Core不是为此类任务而设计的,在共享托管平台上,您将无法毫无障碍地触发日常作业


因此,最好的选择是找到一个外部资源(如Zapier)作为每日触发器,并让它调用您的web应用程序来初始化作业。

如果您无法遵循这一点,请放弃Hangfire。这不是一个可以在所有条件下运行的框架。您好,谢谢,我将与我的主机提供商联系,如果他们愿意在IIS中以这种方式配置,我将在后端完成我的工作。我们将在这里发布反馈。同时,你能为这种需求提供替代方案吗?@LexLi,不幸的是,我的主机提供商不想在他们这边实现这种配置,因为它是共享资源。。。我需要一个管理VPS或一个替代逻辑,每天处理1个重复作业。。。我不想为此使用计时器或任务,我认为这太过分了?!有人能给我一些建议吗?那么实际上是你的预算阻止了你在ASP.NET中这样做。考虑外部服务,如Zapier,它们可以帮助触发日常事件,然后这些事件可以用来向ASP.NET应用程序发送请求(有效地运行您想要的工作)。我想应该是类似的,但是ZaPiER有一些免费配额。