これについては以前にある程度投稿しましたが、数日読んだ後、WCF の理解が深まり、作業を開始する前に少しフィードバックを得たいと思います。
基本的に、サーバー/クライアント システムを開発する必要があります。「サーバー」アプリケーション (c# ネット コンソール アプリ) は、MySQL データベース、すべてのソフトウェア インストール パッケージ、およびローカルで必要なその他すべてを備えたマシン上で実行されます。「クライアント」アプリケーション (c# ネット コンソール アプリ) は残りのマシンで実行され、サーバー ソフトウェアへの直接接続を維持します。管理者は Web フロントエンドを使用して、ソフトウェア パッケージをクライアントにインストールしたり、新しいサービスを作成したりできます。
私たちはすべてのマシンを所有しており、とにかくそれらを構成する必要があるため、サーバー プッシュは問題ではありません。ファイアウォールやその他の NAT 設定について心配する必要はありません。動作に必要なポートを入力して開くだけでよいからです。
WCF について最初に混乱したのは、「WCF サービス」をサーバーに関連付けたことです。ただし、操作の大部分は実際には「WCF サービス」で実行されるため、これが私の論理です。
1)「クライアント」アプリケーションを実際に「WCFサービス」にして、公開された機能が実際に適切なマシンで実行されるようにします。
2)「サーバー」アプリケーションを実際に「WCFクライアント」にして、ここからすべての指示/コマンドを発行し、戻り値を使用してデータベースなどを更新します。
これは従うべき適切な方法でしょうか、それとも WCF Duplex (一見すると非常に紛らわしいように見えます) を調べる必要がありますか、それとも raw ソケットから始める必要がありますか?