7

WCFサービスと通信する複数のクライアントが必要です。WCFサービスは、いずれかのクライアントにも接続できる必要があります。

つまり、サーバーとクライアントには、WCFサーバーとクライアントの両方をそれぞれに組み込む必要があるようです。

これは正しいですか、それともこれを行う方法はありますか?

私はNetPeerTcpBindingを見ていましたが、それは時代遅れです。公平を期すために、それが有効な解決策であるかどうかもわかりません。

バックグラウンド:

  • ネットワーク内の数百台のマシンに、 WCFサービスとWCFクライアントが組み込まれたWindowsサービスをインストールする予定です。
  • WCFサービスとクライアントが組み込まれたサーバーに1つのWindowsサービスをインストールします。
  • Windowsフォームアプリケーションを使用します
  • 私はデータベースを持っています

ネットワーク上のクライアントは、データベースに情報を挿入するために、サーバーで実行されているサービスに接続します。

ユーザーはWindowsフォームアプリケーションを使用してサーバー上のWindowsサービスに接続し、このWindowsサービスはファクトリフロアの関連するクライアントに接続します(ファイルとフォルダーのリモートブラウジングを可能にするため)。

したがって、フロアのマシンとサーバーの両方にWCFクレインとサービスが組み込まれている必要があると思います。

4

3 に答える 3

18

人々が推奨しwsHttpDualBindingている理由は、それ自体が安全で相互運用可能なバインディングであり、サービスとクライアントの両方がメッセージを送受信できるようにする二重サービス契約で使用するように設計されているためです。

「デュプレックス」と呼ばれる通信のタイプには、いくつかのバリエーションがあります。HalfとFullが最も単純です。

  • 半二重:トランシーバーのように機能し、いつでも1人の人が話すことができます。
  • 全二重:電話のように、誰でもいつでも話すことができます。

それぞれが利点と問題をもたらし、ニーズに基づいてこのコミュニケーションをより効果的に構築する方法も提供します。


少し混乱していますが、はっきりさせておきます。

ここで発生する可能性のあるさまざまなアプローチがあります。WindowsCommunicationFoundation(WCF)サービスには次のものが必要です。

  • 住所
  • バインディング
  • 契約

これらは基本的に、WCFの「ABC」です。それらの作成は次のような絵を描いています:

WCF図

ご覧のとおり、サービスには次のものが含まれます。

  • 亭主
  • サービス
  • クライアント

ホストは、クライアントが消費するサービスを格納しているため、これらのサービスメソッドは目的のタスクを実行します。表現例:

エンドポイント

ご覧のとおり、 Client-1はインターネット(HTTP、HTTPSなど)を経由しており、ホストにアクセスします。ホストは、サービスにこれらのタスクを実行させます。

現在、 Client-nはサービスをローカルで消費しているため、例として(TCPなど)通信しています。

覚えておくべき最も簡単な方法:1つのサービスを使用できますが、多くのクライアントがタスクを実行するためにこれらのメソッドを必要とします。サービス指向アーキテクチャー(SOA)を使用して、非常に複雑なモデルを作成できます。

すべてのWCFは、アプリケーションを、アクセスできない可能性のあるホストまたは一元化された場所に接続するための手段です。

クライアントからホスト、データベースへのアクセス。

上の画像でわかるように、クライアントはサービスを介してホストと通信します。これは一連のタスクを実行します。WCFは一連のプロトコルについて話し合います。これにより、WCFがどのように構成されているかをよりよく理解できるようになることを願っています。

チュートリアルがたくさんあり、開始するための投稿もあります。「WCFステップバイステップ」などの優れた本。


基本的に、非同期全二重接続、または同期全二重サービスを探しています。上記のように、本質的にあなたのタスクはサービスのポイントです。

質問:これはどのように最適に機能しますか?

それはあなたのデザインに要約されます。目標に合わせて真に最適化するために遵守する必要のある制限と構造があります。

そのような障害は次のとおりです。

  1. サーバーの負荷
  2. コミュニケーションパス
  3. 安全
  4. UI/同じデータを変更する複数のクライアント
  5. 等。

リストは続き、続きます。WCFに関するチュートリアルや数冊の本を実際に調べたいと思います。ここにいくつかあります:

これらは、サービス構造を操作して、目的の目標を順守するのに役立ちます。


WCFで最も成功するための「ABC」を覚えておいてください。

于 2013-03-02T19:49:02.077 に答える
5

サービスがクライアントと通信するようにする場合は、wsDualHttpBindingを使用します。

WSDualHTTPをお読みください。

于 2013-03-02T19:52:45.290 に答える
2

netTcpBindingを使用してWCFサービスを作成してみてください。それはあなたの要件のために動作します。記事「方法:WindowsフォームからのWCF呼び出しでWindows認証とトランスポートセキュリティでnetTcpBindingを使用する」を開始点として使用できます。

また、使用できるWCFサンプルパッケージには多くの例が含まれています。

于 2013-03-02T19:51:26.613 に答える