2011-02-24 8 views
2

매분마다 데이터베이스에서 삭제하는 기능을 실행할 수 있기를 원합니다. SQL 작업을 사용 하겠지만 SQL Server 2008 Express 리소스 만 있습니다. 그래서 나는 ncron 직업을 사용하고있다. (나는 너무 많은 경험을 가지고있다.)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"에 등록되지 않은

+0

소스 코드를 포맷하십시오. –

답변

2

, 당신은 초기화하는 동안 작업의 이름을 등록해야합니다 ncron.exe exec jobName 명령 구문을 사용하여 작업을 수행 할 수 있도록하기 위해 :

service.At("* * * * *").Run<JobType>().Named("jobName"); 
관련 문제