2011-02-10 6 views
1

私のアプリケーションはサービスである必要があります(ユーザーがログオンしているかどうかにかかわらず実行する必要があります)が、何をしているのかに関するクライアントコントロール/監視が必要です。これを行う最適な方法は何ですか?サービスとユーザーとのやり取りに最適な方法

  1. サービスアプリケーションと通信するために別のアプリケーションを書く - 私は、安定性の面で最善の解決策としていることがわかり、アプリケーションは、サービスアプリケーションのシステムイベントに多少

  2. 使用コールバックを切り離すことになるので、サービスアプリケーションから直接UIフォームをロードする - これは展開が容易であると私は思っています。

どのようにすればいいと思いますか?

+1

サービスの全ポイントは、ユーザーとの直接的なやりとりなしに実行されることです。 – StingyJack

+0

@StingyJack:それはここのアイデアですが、ユーザーはステータスの間に1度通知を受ける必要があります – Goro

答えて

1

通常、前者がより理想的です。 Serivcesは実際にはデザインによるユーザーの介入なしに実行されることを意図されており、UIを使用しようとすると膨大な苦痛を伴うことがあります。

Windowsフォームアプリケーションとサービスは、名前付きパイプ、ソケット、ddeなどさまざまな方法で通信できます。過去に名前付きパイプを使用してサービスを制御/操作しています特に、しばらくの間毎回ランダムなデータを吐き出すサービスが必要な場合は特にそうです。すべてのクライアントは聞くことが必要です。

展開の場合、Windowsフォームアプリケーションにはサービス自体には多くの依存関係がないため、展開にはセットアップパッケージに別の.exeが含まれているだけです。

2

私はこれまで、オプション2のようにサービスからUIフォームをロードしようとすると問題に遭遇するため、最初のオプションを使用しました。ユーザーにフォームを表示するには、別のアプリケーションを起動する必要があります。そのため、アプリケーションではなくユーザーのセッションに基づいてアプリケーションを起動する方が理にかなっています。

関連する問題