c# - 如何在服务器上运行没有 Windows 服务的计划作业?
问题描述
我已经发送了一封使用 asp.net 和quartz 在本地工作的邮件。它工作得很好。但是当我把它放在服务器上时它不起作用。他们说,因为它是共享主机,出于安全原因,他们无法运行它。Sql Agent 也没有作为标准提供。我猜 HangFire 不使用 Windows 服务。我也找不到如何使用 asp.net 网络表单。
解决方案
也许有人需要这个用于 Asp.net webform 的代码。
电子邮件职位代码
public class EmailJob : IJob
{
public void Execute(IJobExecutionContext context)
{
sendmail();
}
public void sendMail()
{
//send mail code
}
}
JobScheduler 代码每天 00.00 工作。你可以改变你想要的.. :)
public class JobScheduler
{
public static void Start()
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<EmailJob>().Build();
ITrigger trigger = TriggerBuilder.Create()
.WithDailyTimeIntervalSchedule
(s =>
s.WithIntervalInHours(24)
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(00, 00))
.InTimeZone(TimeZoneInfo.Local)
)
.Build();
scheduler.ScheduleJob(job, trigger);
}
}
Global.asax启动作业调度程序
void Application_Start(object sender, EventArgs e)
{
JobScheduler.Start();
}
推荐阅读
- python - Python 子进程没有从 Bat 文件中获取环境变量
- python - 什么是 Gridsearch.cv_results_ ,可以解释其中的所有内容,即 mean_test_score 等吗?
- cocoa - 正确使用 Apple Foundation 日历
- r - 无法在闪亮中使用 Selectinput 进行选择
- django - 与 d3.js 一起使用时,Django 本地主机给我的 csv 文件一个错误
- azure - 没有 HttpTrigger 的 Azure 持久函数调用(自动启动)
- haskell - 在 Haskell 中不断收到输入“::”的解析错误?
- android - 如何更新每次搜索时显示我的搜索结果的浏览器
- c++ - 调用具有多个用于不同目的的数字的文本文件来创建商店和销售条形图
- javascript - 使用 Ajax 创建 PDF