gpt4 book ai didi

c# - NCron - 看不到作业

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:40 25 4
gpt4 key购买 nike

我希望能够运行一个函数,每隔一分钟从我的数据库中删除一次。我会使用 SQL 作业,但我只有 SQL Server 2008 Express 的资源。所以我正在使用 ncron 作业(我没有太多经验)。

我的代码是:

namespace ConsoleApplication2_ncron
{
class Program
{
static void Main(string[] args)
{
Bootstrap.Init(args, ServiceSetup);
}

static void ServiceSetup(SchedulingService service)
{
//service.Hourly().Run<doStuff>();

service.At("* * * * *").Run<ConsoleApplication2_ncron.doStuff>();
}
}
}

我的doStuff.cs文件是

namespace ConsoleApplication2_ncron
{
class doStuff : NCron.CronJob
{
public override void Execute()
{
SqlConnection conn = new SqlConnection();
conn = new SqlConnection(ConfigurationManager.AppSettings["strConnectionString"].ToString());

conn.Open();

SqlCommand command = conn.CreateCommand();
command.CommandText = "res_delete_old_records";
command.CommandType = CommandType.StoredProcedure;

command.ExecuteNonQuery();
// close the connection
conn.Close();

throw new NotImplementedException();
}
}
}

但是,当我在命令行上执行以下命令时(为了在我安装服务器之前进行测试):

consoleApplication2_ncron exec doStuff

我得到以下信息:

No job is registered with the name "doStuff"

最佳答案

为了能够使用 ncron.exe exec jobName 命令语法执行作业,您需要在初始化期间注册作业的名称:

service.At("* * * * *").Run<JobType>().Named("jobName");

关于c# - NCron - 看不到作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5102759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com