QuartzNetJob 项目使用教程
QuartzNetJob项目地址:https://gitcode.com/gh_mirrors/qua/QuartzNetJob
1. 项目的目录结构及介绍
QuartzNetJob 项目的目录结构如下:
QuartzNetJob/
├── src/
│ ├── QuartzNetJob.Core/
│ │ ├── Jobs/
│ │ │ └── HelloQuartzJob.cs
│ │ ├── Program.cs
│ │ └── QuartzConfig.cs
│ ├── QuartzNetJob.Web/
│ │ ├── Controllers/
│ │ ├── Views/
│ │ ├── appsettings.json
│ │ └── Startup.cs
│ └── QuartzNetJob.sln
├── README.md
└── .gitignore
目录结构介绍
- src/: 源代码目录。
- QuartzNetJob.Core/: 核心逻辑目录,包含作业定义和配置。
- Jobs/: 存放作业类的目录,例如
HelloQuartzJob.cs
。 - Program.cs: 程序入口文件。
- QuartzConfig.cs: Quartz 配置文件。
- Jobs/: 存放作业类的目录,例如
- QuartzNetJob.Web/: Web 项目目录,包含控制器、视图和配置文件。
- Controllers/: 控制器目录。
- Views/: 视图目录。
- appsettings.json: Web 项目的配置文件。
- Startup.cs: Web 项目的启动文件。
- QuartzNetJob.sln: 解决方案文件。
- QuartzNetJob.Core/: 核心逻辑目录,包含作业定义和配置。
- README.md: 项目说明文档。
- .gitignore: Git 忽略文件配置。
2. 项目的启动文件介绍
QuartzNetJob.Core/Program.cs
Program.cs
是项目的入口文件,负责启动和配置 Quartz 调度器。
using System;
using System.Threading.Tasks;
using Quartz;
using Quartz.Impl;
namespace QuartzNetJob.Core
{
class Program
{
static async Task Main(string[] args)
{
// 创建调度器工厂
var schedulerFactory = new StdSchedulerFactory();
var scheduler = await schedulerFactory.GetScheduler();
// 启动调度器
await scheduler.Start();
// 创建作业和触发器
var jobDetail = JobBuilder.Create<HelloQuartzJob>()
.Build();
var trigger = TriggerBuilder.Create()
.WithSimpleSchedule(m => m.WithRepeatCount(3).WithIntervalInSeconds(1))
.Build();
// 添加调度
await scheduler.ScheduleJob(jobDetail, trigger);
Console.WriteLine("任务调度器已启动");
}
}
}
QuartzNetJob.Web/Startup.cs
Startup.cs
是 Web 项目的启动文件,负责配置和启动 Web 服务。
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace QuartzNetJob.Web
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
3. 项目的配置文件介绍
QuartzNetJob.Web/appsettings.json
appsettings.json
是 Web 项目的配置文件,包含应用程序的配置信息。
QuartzNetJob项目地址:https://gitcode.com/gh_mirrors/qua/QuartzNetJob
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考