0

シナリオ:

  • 異なるサーバーからファイルを読み取ります。各サーバーは、異なる形式拡張子、およびデータのファイルを提供します。
  • 読み取りプロセスは、サーバーごとに定期的に異なります(分単位、時間単位、週単位、月単位)。
  • 「ファイル形式」、「ファイル拡張子」、「サーバー資格情報」に関連する構成を設定するための構成ファイル(またはその他)が必要です。

私の実装

次のように設定された構成に応じて、これらの異なるファイルを読み取るアプリケーションを作成しました。

interface IServer
{
    // Common implementation
}

[ServerPath("anyLocation")]
[FileDelimiter(",")]
[FileSearchPattern("*.txt")]
class Server2 : IServer
{
    // Specific implementation
}

[ServerPath("anyLocation")]
[FileDelimiter("|")]
[FileSearchPattern("*.csv")]
class Server1 : IServer
{
    // Specific implementation
}

質問:

  • このアプリを実行するには、Windows サービスを使用する必要がありますか?
  • 属性として設定した設定は、ユーザーがアクセスできる設定として存在する必要があります。どうすればよいですか?
  • 最も重要なことは、読み取り時間が干渉する可能性があることを考慮して、サーバーごとに個別のサービスを使用する必要があるかどうかがわからないことです (その場合はどうなりますか?)。私はまだ単一のサービスを持っていることを好みます。
4

1 に答える 1

1

この種の問題のためにWindowsサービスを作成することはしません。

目的のターゲット(サーバー)を指定するためのcommend lineパラメーターを受け入れる単純なコンソールアプリケーションを作成し、アプリにハードコーディングする代わりに、単純なApp.configから対応する構成を読み取ります。

スケジュールされたタスクを使用してコンソールアプリを実行します。これにより、追加のコードなしで、組み込みの監視とエラー追跡を備えたきめ細かいスケジュール制御が可能になります。

于 2012-06-12T08:02:44.317 に答える