2

次のコードに出くわしました:

<client>
   <!--set up the destination endpoints-->
   <endpoint name="CalcEndpoint1"
          address="net.tcp://localhost:9090/servicemodelsamples/service/"
          binding="netTcpBinding"
          contract="*" />

   <endpoint name="CalcEndpoint2"
          address="net.tcp://localhost:8080/servicemodelsamples/service/"
          binding="netTcpBinding"
          contract="*" />
</client>
  1. とはcontract="*"どういう意味ですか?
  2. すべての WCF クライアントまたはサービスにコントラクトを指定する必要はありませんか?
4

2 に答える 2

2

サービスでのルーティングに使用されます。アスタリスクは、入ってくるすべての契約に一致することを意味します。私は、VPN でファイアウォールの背後にある特定のサービスに到達するためのゲートウェイとして使用しました。リクエストをルーター サービスに送信すると、コントラクトがチェックされ、ファイアウォールの背後にある実際のサービスにルーティングされます。

CodeProjectのこの例のようなもの

于 2013-10-23T05:34:56.827 に答える
0

WCF サービスには、少なくとも 1 つのコントラクトが定義されている必要があります。

コントラクト文字列 (エンドポイント レベル) は、エンドポイントのコントラクトを示します。サービス実装が 1 つのコントラクトのみを実装する場合、それを空の文字列に設定すると、デフォルトのコントラクトが使用されます。

于 2013-10-22T20:42:16.200 に答える