2009-04-13 11 views
50

私は、可能なクライアントのリストとして設定ファイルにエンドポイントが定義されていたが、それは意味をなさないという印象を受けていました(つまり、どのコンピュータがそのサービスに接続できるのかということを意味していました)それは定義のより多くのものなので、誰かが私に終点が何であるか説明してください?私は契約インターフェースを定義してから契約を実行するというコンセプトを理解していますが、そこにはどこかに失われて実際に使えるものがあります。WCFの「エンドポイント」とは何ですか?

このコンテキストでは、どのようなアドレスですか?ホストアドレス?

バインディングは正しい通信方式/プロトコルですか?

契約が「共有されているオブジェクト」である

答えて

70

エンドポイントは、サービスが公開するもので、WCFの用語で、三つの構成されています。URLはである

  • 契約
  • アドレスをバインド

    • 住所
    • エンドポイントに到達することができます。

      バインディングは、アドレスでの契約の実装に送信されるメッセージの形状(ある程度)と同様に適用される変換を指示します。

      契約では、アドレスでどのような操作が公開されているかが決まります。それはまさにそれがそうであると言います。それは、どんな呼び出しが許されるかを示す契約です。

      時間のほとんどは、人々が注意すべきいくつかの点B C.

      としてそれを覚えている:

      結合は、一般的に適用される行動とチャンネルの組み合わせになるだろう。チャネルは、メッセージを修正し、サービス実装に達する前にアクションを実行するチャネルスタック上の要素である。

      .NETで一般的にインターフェイスで表されていますが、このように契約を表す必要はありません。設計支援者の中には、要求と応答のために送信されるメッセージにスキーマを定義するものがあります。これは、WCFが.NET Contractインターフェイスを変換するものです。私はここにジュバル・ロウィのプログラミングWCFサービス引用するつもりです

    +0

    これは役に立ちます...私は双方向通信サービスを作成したいのですが、どうすればそれを構築するのでしょうか?私がAとBのアプリケーションを持つシステムを持っていると仮定しましょう。もしAが 'ping'を送信するとBは1秒待ってからPongを返します。Aは1秒待ってpingをもう一度送ります。 – Firoso

    +0

    @firoso:それは3つの方法の握手です。この場合、私はBをサーバーとして定義します。 AはBのPingメソッドを呼び出します.Pongを公開するPing操作のコールバックコントラクトを定義します。そして、PongがAに呼び出されると、BにPingを再度呼び出すことになります。 – casperOne

    +0

    これは理にかなっていますが、もっと情報を吸収するためには時間が必要になると思います。 – Firoso

    3

    here: サービスエンドポイントは、アドレス、バインディング、および使用する契約を指定するを参照してください。基本的に(はい私はそれがとても技術的に正しくないことを知っているが、ここで私と一緒に働きます)コミュニケーションのために。

    17

    すべてのサービスが サービスであり、それは と通信する方法を定義するバインディングを定義したアドレスに関連付けられている

    サービス、およびサービスが何をするかを定義する契約を含む。この サービスを支配する三位一体は、 のABCとして覚えやすいです。

    WCFはこの関係をエンドポイントの形式で公式化します。 エンドポイントは、アドレス、契約、およびバインディングの融合です。

    すべてのエンドポイントには3つの要素がすべて含まれている必要があり、ホストは エンドポイントを公開します。

    5

    サービスエンドポイントには、アドレス、バインディング、および契約があります。 エンドポイントのアドレスは、エンドポイントが存在するネットワークアドレスです。 EndpointAddressクラスは、WCFエンドポイントアドレスを表します。 エンドポイントのバインディングは、トランスポートプロトコル(TCP、HTTPなど)、エンコード(テキスト、バイナリ)、セキュリティ要件(SSL、SOAPメッセージセキュリティなど)など、エンドポイントと世界との通信方法を指定します。 Bindingクラスは、WCFバインディングを表します。 エンドポイントの契約は、エンドポイントが通信する内容を指定し、基本的なメッセージ交換パターン(MEP)(片方向、二重モード、要求/応答など)を持つ操作で構成されたメッセージの集合です。 ContractDescriptionクラスは、WCF契約を表します。

    1

    サービスエンドポイントには、アドレス、バインディング、および契約があります。エンドポイントのアドレスは、エンドポイントが存在するネットワークアドレスです。 EndpointAddressクラスは、WCFエンドポイントアドレスを表します。エンドポイントのバインディングは、トランスポートプロトコル(TCP、HTTPなど)、エンコーディング(テキスト、バイナリ)、セキュリティ要件(SSL、SOAPメッセージセキュリティなど)など、エンドポイントと世界との通信方法を指定します。 Bindingクラスは、WCFバインディングを表します。エンドポイントの契約は、エンドポイントが通信する内容を指定し、基本的なメッセージ交換パターン(MEP)(片方向、二重モード、要求/応答など)を持つ操作で構成されたメッセージの集合です。 ContractDescriptionクラスは、WCF契約を表します。

    12

    WCFのエンドポイント
    WCFサービスは、エンドポイントのコレクションを公開するプログラムです。各エンドポイントは、世界と通信するためのポータルです。 エンドポイントは3つのコンポーネントで構成されています。
    1)住所
         は、サービスが配置されている場所を定義
          EX - http://www.test.com:8001/MyService
    2)バインディング
         それは、クライアントが通信できる方法を指定バインディングエンドポイント。
          EX - BasicHttpBinding、WSHttpBinding、WSDualHttpBindingなど
    3)契約
         操作を識別する契約利用できる

    エンドポイント上のweb.configファイルで言及され作成されたサービス。

    0

    Webサービスのエンドポイントは、これらの一部またはすべてを非表示にすることができます。要求に基づいて内部的にRequestの処理を決定することができます。

    SRJTesterツール(Githubで利用可能)は、サービスリクエストの作成中にエンドポイント、アクション、プロトコルなどを指定するのに便利です。

    関連する問題