0

1時間ごとに実行されるWindowsサービスがあります。サービスが実行されるたびに値 (最終実行日時) を確認できるように、最終実行日時を保存したいと思います。この値は、サービスがデータを取得するために使用するストアド プロシージャのパラメーターの 1 つとして使用されます。

さて、私の質問は、この最後の実行日の値を保存する最良/理想的な方法は何ですか?

私は3つの方法を考えることができます:

  1. データベース テーブルに格納します。
  2. アプリケーション フォルダ内のテキスト ファイルまたは XML ファイルに保存します (ここでの質問は、アプリケーション フォルダ内にテキスト ファイルを作成し、1 時間ごとに更新するのは良いことですか?)。
  3. 構成ファイルにセクションを作成し、サービスが実行されるたびに更新します。

専門家の方、アドバイスお願いします。

4

1 に答える 1

1

実行するプロセスが最後に実行されたかどうかを確認する必要がある単一のサービスがある場合は、ユーザー設定項目として保存します。このタスクを共有する多くのサービスが存在する可能性があると考えている場合は、(データベースなどの) 共有の場所に配置すると便利ですが、ユーザー設定からデータベースにデータを移行するのは簡単なはずです。複数のサービスを利用する必要があります。

.NET と Visual Studio でユーザー (実行時) 設定が既にサポートされているという理由だけで、カスタム XML またはデータ ファイルは使用しません。

アップデート:

ユーザー設定を使用する場合は、ソリューション エクスプローラー (プロジェクトの [プロパティ] の下) で [設定] をダブルクリックするか、プロジェクトのプロパティで [設定] タブを選択します。User Scope (おそらく type の値) を使用して値を追加しますSystem.DateTime。名前を付けLastExecutedた場合は、次のようなコードを使用して値を更新します。

Properties.Settings.Default.LastExecuted = DateTime.Now;
Properties.Settings.Default.Save();
于 2013-02-24T18:32:38.970 に答える