一定要有hangfire数据库,否则hangfire会报错。 (obStorage.Current property value has not been initialized. You must set it before using Hangfire Client or Server API.)
1.准备个空库给hangfire使用。
2.添加OWIN Startup 类。在类库上-右键-添加-新建项-搜索startup
3. 在 app.UseHangfireServer(); 下一行创建任务计划
web.config:
<connectionStrings>
<add name="HangfireDb_connection" connectionString="Data Source=.;Initial Catalog=HangfireDb;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
–
Startup1.cs
using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
using Hangfire;[assembly: OwinStartup(typeof(任务计划HangFire.Startup1))]namespace 任务计划HangFire
{
public class Startup1
{
public void Configuration(IAppBuilder app)
{
// 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 try
{
//运用SqlServer存储,对应web.config中的connectionStrings中的name
GlobalConfiguration.Configuration.UseSqlServerStorage("HangfireDb_connection"); app.UseHangfireDashboard();//配置后台仪表盘
app.UseHangfireServer();//开始使用Hangfire服务 }
catch (Exception ex)
{ }
#region MyRegion 任务计划HangFire.Job.Job1.SetJob1(); #endregion }
}
}
Job1.cs
using Hangfire;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;namespace 任务计划HangFire.Job
{
public class Job1
{
public static void SetJob1()
{
try
{
RecurringJob.AddOrUpdate(
() => DoJob1(),
Cron.Minutely);
}
catch (Exception ex)
{
}
} public static void DoJob1()
{ try
{
Console.WriteLine("Recurring!");
}
catch (Exception ex)
{
}
}
}
}
—
在域名后面加/hangfire ,可以看面板
http://localhost:41958/hangfire
—