2013-04-13 8 views
7

私はを使ってC#アプリケーションで自分のタスクをスケジューリングしています。私はこのライブラリの基本的な理解を得たと思う。カスタムタスクのスケジュール方法c#

しかし、今、私はどちらでしょう(私は(設定したスケジュールにメールを送信します)built-in actionすなわちEmailAction schedule.Likeセットで実行されるカスタムアクションを作成したい場所にShowMessageActionを立ち往生設定されたスケジュールで警告メッセージを表示する)、私は私のC#コードを実行するアクションを作成し、そのコードは私のデータベースにいくつかのデータを保存します。私はまだ試した何

は次のとおりです。

public class NewAction : Microsoft.Win32.TaskScheduler.Action 
{ 
    public override string Id 
    { 
     get 
     { 
      return base.Id; 
     } 
     set 
     { 
      base.Id = value; 
     } 
    } 

    public NewAction() 
    { 
    } 
} 

そして、ここに私のタスクスケジューラのコードです:ラインで

.. 
    ... 
    // Get the service on the local machine 
    using (TaskService ts = new TaskService()) 
    { 
     // Create a new task definition and assign properties 
     TaskDefinition td = ts.NewTask(); 
     td.RegistrationInfo.Description = "Does something"; 

     // Create a trigger that will fire the task at this time every other day 
     TimeTrigger tt = new TimeTrigger(); 

     tt.StartBoundary = DateTime.Today + TimeSpan.FromHours(19) + TimeSpan.FromMinutes(1); 
     tt.EndBoundary = DateTime.Today + TimeSpan.FromHours(19) + TimeSpan.FromMinutes(3); 
     tt.Repetition.Interval = TimeSpan.FromMinutes(1); 

     td.Triggers.Add(tt); 

     // Create an action that will launch Notepad whenever the trigger fires 
     td.Actions.Add(new NewAction()); <========================== 

     // Register the task in the root folder 
     ts.RootFolder.RegisterTaskDefinition(@"Test", td); 

     // Remove the task we just created 
     //ts.RootFolder.DeleteTask("Test"); 
    } 
    ... 
    .... 

私はのように、アクションを継承したクラスのCustomActionを作成しました(矢印で指されている)私は例外を取得しています:

値は、正しい方向に私をguidをしてくださいより可能であるならば、私は、私も可能であるかどうかを達成しようとしているのかわからないのです予想される範囲のタスクスケジューラ

内に収まっていませんか?

+1

ランダムアクションを実行させるだけではありません。利用可能なアクションはわずか4つです。カスタムコードを実行するには、必要なコードを実行するexecアクションを持つプロセスを実行します。 – devshorts

答えて

1

私のご質問によると、私は同じことを実装しましたが、私は "タスクスケジューラ"ではなく "Quartz" Schedulerを使用しました。実装が非常に簡単です。あなたもこれで試してみてください。参照するには

http://quartznet.sourceforge.net/tutorial/

私が間違っているなら、私を修正してください。

関連する問題