What is the equivalent to CRON jobs in ASP.NET? - C#

∥☆過路亽.° 提交于 2019-12-17 18:13:14

问题


In PHP we have CRON jobs, where the hosting server automatically picks up and executes a task as per the schedule given.

What would be a good alternative to use for CRON jobs in ASP.NET? I'd like to use a Web service, but that will not work in a shared hosting environment. Any help would be appreciated, and please advise a way to do this specifically in a shared hosting environment.


回答1:


Try Quartz.NET. it's a decent .NET scheduler which supports CRON expressions, CRON triggers and various other means and methods to schedule tasks to be performed at certain times / intervals.

It even includes a basic Quartz.NET server (Windows Application) that might fit your needs.

Edit:

If you can't run applications or windows services within your shared hosting then perhaps something like "Easy Background Tasks in ASP.NET" will do you? It simulates a Windows Service using HttpRuntime.Cache and removes the need for any external dependancies.




回答2:


This is absolutely a hack, but you can simulate a cron service using ASP.NET callbacks. Here is an example of how to do it.




回答3:


nCron is a .Net implementation of CRON using nCronTabs which are the exact same as cron scheduling




回答4:


Asp.Net and Web services are typically responsive. They wait and respond to requests. There are hacks to make them look like schedulers but the hacks are ugly beyond belief.

You could use a Windows Service. Or write an executable and use the Windows Task Scheduler.




回答5:


Another option is to use hangfire which says about itself

An easy way to perform background processing in .NET and .NET Core applications. No Windows Service or separate process required.

Backed by persistent storage. Open and free for commercial use.

Requirements (as of November 2019) are

  • .NET Framework 4.5
  • Persistent storage, e.g. an SQL database where Hangfire will write 10 tables
  • Newtonsoft.Json library ≥ 5.0.1

Assuming that you have already some API project which runs as service, you can use hangfire within.

Disclaimer: I am not affiliated in any kind with hangfire, I will just be using it soon.



来源:https://stackoverflow.com/questions/8226986/what-is-the-equivalent-to-cron-jobs-in-asp-net-c-sharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!