目に見えないWinformアプリケーションでWindowsサービスを置き換えることについて提案が必要です

StackOverflow https://stackoverflow.com/questions/4813138

質問

クライアントアプリケーションをサポートするには、バックグラウンドアプリケーションが必要です。これは、メインクライアントアプリケーションが実行されているかどうかに関係なく、常にクライアントマシンで実行する必要があります。

Windowsサービスは私の最初の選択でしたが、Windowsサービスに直面した問題は次のとおりです。メインクライアントアプリケーション、Windowsサービスへのパッチのリリースとインストール、Windowsサービスが実行されなかった場合のトラブルシューティングを介したWindowsサービスの制御の容易さです。

それで、私はWindowsサービスの代替案を考え始め、目に見えるフォームのないWindowsフォームのアプリケーションが私のためにそれを行うことができることを発見しました。この目に見えないアプリは、システムの起動から始まり、常にWindowsサービスが行うすべての作業を行うことを続けている必要があります。しかし、開発に深く入る前に、このアプローチの長所と短所を探求したいと思います。

このアプローチに関する提案/コメントはありますか?

役に立ちましたか?

解決

あなたの要件はWindowsサービスにより適しています。 Windowsサービスの主な利点は、システムが発生するとすぐに開始されることです。

展開の問題を整理するには、ビジネスロジックを個別のアセンブリに組み込み、Windowsサービスで必要な関数を呼び出します。これにより、変更されたアセンブリのみを展開できます。

目に見えないフォームのWinFormアプリケーションは、目的に役立ちません。 Hth

他のヒント

それは可能ではありません。ユーザーモードアプリケーションはユーザーが開始する必要があり、そのユーザーがログオフされたときに実行され続けません。それが目的です SessionEnding イベント:ユーザーがログオフまたはコンピューターがシャットダウンしているときに、アプリを優雅にシャットダウンできるようにします。システムスタートアップで何かを開始し、常に実行し続けることはできません。

そのためにはWindowsサービスが必要です。ただし、Windows Vistaの下では、サービスがユーザーと直接対話できないことに注意する必要があります。それらは別のプロセスで実行され、独自のUIを表示することが制限されています。あなたのニーズが何であるか正確には質問からは明らかではありませんが、これは検討する価値のあるWindowsサービスの重要な制限です。適切なデザインは本当にこれを必要とするべきではありませんが、この新しい、より安全な行動が本当に驚きである多くの人々がいるようです。これについては、関連する回答でこれをより詳細に説明します この質問この他の質問.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top