1

私はWCFを初めて使用します(わずか1日か2日)。クライアント/サーバーを持つアプリケーションを作成する予定です

WCF サービス (Windows サービスとしてホストされているサーバー上):

  1. (Process.Start()) を使用していくつかのコマンドを呼び出します
  2. データベースからいくつかの情報を送信します

質問:

  1. どの WCF バインディングを使用すればよいですか? WsDualhttp または netTCP (できれば詳しく説明してください)
  2. WCF は動作しますかSqlServer + EF 4.1

サーバー UI:

これは主に次の目的で使用されます。

  1. 上記サービスの開始・停止
  2. アドレス (localhost を [自分の IP アドレス] に変更) とポートを変更します。
  3. サービスの状態を表示する (実行中または停止中)

質問:

  1. この UI から WCF サービスのアドレスとポートを変更するにはどうすればよいですか (別のプロジェクトになるため、別の構成ファイルになります)。

クライアント アプリ:

  1. コマンドを WCF サービスに発行するために使用されます。
  2. サービスが実行中か停止中かを確認します。
  3. タスクの完了または障害に関するステータス メッセージを受信します。

また、Windows インストーラーを組み合わせて、ServerUI + WCF Service + Windows サービスをインストールできますか?

4

2 に答える 2

1

WCF サービス

  1. 適切なバインディングを選択するためのいくつかのリンクを次に示します。あなたが説明しているシナリオに基づいて、netTCP を使用します。
  2. WCF と SQL Server は互いに独立しているため、Windows サービスを使用してデータベースと対話する際に問題が発生することはないと思います。
  3. Windows サービスからプロセスを開始する方法を読むことをお勧めします。

サーバー UI

  1. サーバー UI と対話するために、Windows サービスで別の WCF サービスをホストすることをお勧めします。この通信チャネルは常にローカル、つまり同じボックス上にあるため、netNamedPipeBinding を使用できます。したがって、Windows サービスは 2 つの WCF サービスをホストします。1 つはクライアントとの外部通信用で、もう 1 つは構成 UI とのローカル通信用です。

インストーラ

  1. はい、Windows インストーラーを使用できますが、それはあなたが説明していることにはやり過ぎかもしれません。サーバー UI、WCF サービス、および Windows サービスのうち、絶対にインストールする必要があるのは Windows サービスだけです。他のものは、アセンブリをターゲット システムにコピーするだけで、理論的には実行できます。コマンド ライン経由で Wi​​ndows サービス自体をインストールすることを検討することもできます。そうすれば、WinZipなどのソフトウェアを使用して自己解凍型の実行可能ファイルを回避できます。これは、正式なインストールよりも軽量である可能性があります。この方法を使用する場合は、こちらのステップバイステップをご覧ください。
于 2012-07-05T14:53:02.647 に答える
0

WCF デュプレックス サービスをご覧ください: http://msdn.microsoft.com/en-us/library/ms731064.aspx

Windows サービスへのインターフェイスが必要な理由は何ですか? また、IIS7 と WAS にアクセスできる場合は、Windows サービスのセルフホスティングではなく、IIS7 と WAS を使用することをお勧めします。

ここでは、WCF 構成管理の適切な出発点を示します: http://msdn.microsoft.com/en-us/library/ff650534.aspx

はい、Windows インストーラーを使用できます。

乾杯 - ジョッケ

于 2012-07-05T08:00:32.407 に答える