52

エンドポイントが構成ファイルで可能なクライアントのリストとして定義されているという印象を受けましたが、それは意味がありません(どのコンピューターがサービスに接続できるかを示していると仮定したという意味で)。定義の、それで誰かが私にとってエンドポイントが何であるかを説明してくれませんか?コントラクトインターフェイスを定義してからコントラクトを実装するという概念は理解していますが、その間のどこかで迷子になり、実際に何かを使用できるようになります。

この文脈でのアドレスは何ですか?ホストアドレス?

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

契約は本質的に「共有されているオブジェクト」です(はい、技術的には正しくないことはわかっていますが、ここで私と協力します)

4

8 に答える 8

70

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

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

アドレスは、エンドポイントに到達できるURLです。

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

コントラクトは、アドレスで公開されている操作を決定します。それはまさにそれが言っていることです、それはどんな呼び出しが許されるかを示すための契約です。

ほとんどの場合、人々はそれをABCとして覚えています。

注意すべき点:

バインディングは通常、動作が適用されたチャネルの組み合わせになります。チャネルは、メッセージを変更し、サービスの実装に到達する前にアクションを実行するチャネルスタック上の要素です。

通常、.NETのインターフェースで表されますが、コントラクトがこのように表される必要はありません。一部の設計優先の支持者は、要求と応答のために最初に送信されるメッセージのスキーマを定義します。これは、WCFが.NETコントラクトインターフェイスを変換するものです。

于 2009-04-13T20:24:01.443 に答える
17

ここでは、JuvalLowyのプログラミングWCFサービスを引用します。

すべてのサービスは、サービスの場所を定義するアドレス、サービスとの通信方法を定義するバインディング、およびサービスの機能を定義するコントラクトに関連付けられています。サービスを統治するこの三頭政治は、サービスのABCとして覚えやすいです。

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

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

于 2009-04-13T20:39:47.473 に答える
13

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

エンドポイントは、作成されたサービスのweb.configファイルに記載されます。

于 2014-04-12T09:51:59.747 に答える
5

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

于 2013-05-11T10:20:09.730 に答える
3

ここを参照してください: サービスエンドポイントは、通信に使用するアドレス、バインディング、およびコントラクトを指定します。

于 2009-04-13T20:22:41.430 に答える
1

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

于 2014-04-01T06:50:28.120 に答える
0

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

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

于 2016-03-28T06:12:00.063 に答える
0

エンドポイントは、クライアントアプリケーションとWCFサービス間の通信チャネルを構成するために使用されます

エンドポイントサンプル

<endpoint address="http://localhost:3901/Service1.svc"
           binding="basicHttpBinding"  
          contract="ServiceReference.IService1" bindingConfiguration="BasicHttpBinding_IService1"  
              name="BasicHttpBinding_IService1" /> 
于 2021-03-19T13:51:55.070 に答える