微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在服务器上没有 Windows 服务的情况下运行计划作业?

如何解决如何在服务器上没有 Windows 服务的情况下运行计划作业?

我已经发送了一封使用 asp.net 和石英在本地工作的邮件。它运作良好。但是当我把它放在服务器上时它不起作用。他们说因为它是共享主机,出于安全原因他们不能运行它。 sql Agent 也不作为标准提供。 我猜 HangFire 不使用 Windows 服务。我也找不到如何使用 asp.net 网络表单进行操作。

解决方法

也许有人需要此代码用于 Asp.net 网络表单。

电子邮件工作代码

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();

    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。