我希望能够运行一个每隔一分钟从我的数据库中删除的函数。我会使用 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
我得到以下信息:
没有使用名称“doStuff”注册的作业