現在のプロジェクトでは、いくつかの操作のために、OrderId ...のような関連情報とともにCOMPLETED-Order、STARTED-REQUECTED-REJECTED-Orderのようなメッセージをデータベースに送信します。コマンドパターンを実装するCommandクラスに対応します。ThreadPool他のタスクの完了に依存するタスク
interface ICommand
{
void Execute();
}
public class RequestStartedCommand:ICommand
{
public void Execute()
{
//do the related work.....
}
}
//other commands...
Windowsサービスは、このメッセージを消費してからコマンドを上記のものに変換し、ThreadPoolでコマンドを実行します。
しかし、OrderID = 23のCOMPLETED-Orderコマンドは、同じ注文のREJECTED-Orderコマンドの前に実行する必要があります。どのようにすればよいのですか?どの戦略に従うべきですか?どのような例やドキュメンテーションも便利です。