7

データベースにタスクテーブルがあります。このテーブルからデータを読み取り、タスクを実行したいと思います。Windowsサービスとして実行するかコンソールアプリケーションとして実行するかはどちらが良いですか。これが実行されるサーバーはシャットダウンされません

4

6 に答える 6

7

ほとんどの場合、Windowsサービスを使用することをお勧めします。

利点:

  • プロセスを開始するユーザー(およびこのユーザーアカウントに関連付けられた権限)を制御できます
  • 自動的に開始されるプロセスは、サービスを実行するために、ユーザーがログに記録するのではなく、デスクトップがオンになっている必要があることを意味します
  • 失敗に関するポリシーを定義できます(失敗した場合は、特定のプログラムをn回実行して再起動してください)
  • 依存関係を定義できます(他のサービスに依存している場合)
  • スクリプトを非表示のウィンドウでラップできます
  • スクリプトを簡単に開始/停止/再開できます(net start <scriptname>

ここから引用: アプリケーションをWindowsサービスとして開発することの利点は何ですか?

于 2012-07-30T12:49:57.543 に答える
3

他の人が述べているように、実行中のコンソールアプリはオプションではありません。

タスクをx分ごとに実行するだけの場合、最も簡単なオプションは、コンソールアプリケーションを使用してスケジュールされたタスクです。

Windowsサービスには利点がありますが、実装と展開は少し複雑です。ただし、アプリを「常にオン」にする必要がある場合(たとえば、外部トリガーに反応する必要がある場合、メッセージキューをリッスンする必要がある場合など)、Windowsサービスが唯一のオプションです。他の人が言っているように、サービスインフラストラクチャは、より多くの管理機能、イベントログとの組み込み統合、再起動およびフェイルオーバーオプションも提供します...

于 2012-07-30T12:53:56.213 に答える
0

ログインユーザーを必要としないため、Windowsサービス。

于 2012-07-30T12:48:30.927 に答える
0

私は言うだろう; Windowsサービス。

その場合(とりわけ)、ユーザーがログインする必要はありません。何らかの理由でシャットダウンし、システム全体で広範な権限を持っている場合は、自動的に再起動するように構成できます。

于 2012-07-30T12:48:59.447 に答える
0

一般的にWindowsサービス。Windowsサービスを自動的に開始できるときにサーバーが再起動した場合は、コンソールアプリを再起動する必要があります。

于 2012-07-30T12:50:15.017 に答える
0

https://github.com/thedavejay/Self-Installing-Windows-Serviceをご覧ください。

これにより、コンソールアプリケーションとしてデバッグし、Windowsサービスとしてインストールできます。

于 2013-09-17T10:13:24.007 に答える