わかりました、私が働いている工場で同様のチケット システムを作成するタスクが与えられました。このシステムでは、オペレーターがチケットのように生成し、データベースに保存され、エンジニアに送信されて処理されます。データベースは、仮想サーバー上で実行されている MS SQL データベースです。各ユーザーには、WPF で開発されたクライアント デスクトップ アプリがあります。
エンジニアへのアラートを突き刺す方法に行き詰まっています。チケットが生成されると、データベースに保存され、メッセージまたは何かをエンジニアに送信する必要があります。これまでのところ、使用できるものについて次の考えを思いつきました。
- Webservice - クライアントはこれに接続します。これは、データベースと通信し、チケット メッセージをエンジニアに中継するために使用されます。
- Windows サービス - 上記と同じですが、Windows サービスですか? メリットはありますか?
- データベースのポーリング - エンジニア用のクライアント ソフトウェアは、2 分ごとにデータベースを継続的にポーリングし、新しく生成されたチケットをチェックします。見つかった場合は、ユーザーに通知されます。
データベースのポーリングはおそらく実装が最も簡単ですが、遅延のために実際には稼働していません。一度に約 30 人が接続されるため、2 分の遅延について言及しましたが、そのうちの 12 人はエンジニアであり、12 のクライアント プログラムが継続的にポーリングを行うとサーバーのパフォーマンスに影響するかどうかはわかりませんでした。
アドバイスは素晴らしいでしょう、または誰かがより良い方法を知っていれば。