2009-04-02 20 views
6

私はBasicHttpとNetTcpバインディングを公開するWCFサービスを構築しています。私も2つの対応メックスエンドポイントを追加した、すなわち複数のバインディングのWCF Mexエンドポイント

<service name="WCFTest.CalculatorService" behaviorConfiguration="WCFTest.CalculatorBehavior"> 
    <host> 
    <baseAddresses> 
     <add baseAddress = "http://localhost:8000/WCFTest/CalculatorService/" /> 
     <add baseAddress = "net.tcp://localhost:9000/WCFTest/CalculatorService/" /> 
    </baseAddresses> 
    </host> 

    <endpoint address ="basicHttpEP" binding="basicHttpBinding" contract="WCFTest.ICalculatorService"/> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 

    <endpoint address ="netTcpEP" binding="netTcpBinding" contract="WCFTest.ICalculatorService"/> 
    <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>   
</service> 

私は本当にNETTCPメックスエンドポイントと同様にBasicHttpメックスエンドポイントを追加する必要がありますか?クライアントは、tcpを使用して通信するかどうかに関係なく、常にメタデータの消失にHttp mexエンドポイントを使用するだけではありませんか?

ありがとうございました

答えて

1

はい、HTTP mexエンドポイントだけを使用できます。私は、あなたのクライアントがHTTP経由で通信できるという前提があると思います。

+0

あなたはhttpのmexエンドポイントだけを使用することを推奨して以来、「あなたのクライアント*はmexのためにnet.tcpとmexの間で通信することしか想定していないと思いますか? – atconway

+0

投稿を修正しました –

1

いいえ、あなたのコードの前提は、通信チャネルがhttpまたはnet tcpのいずれかであることです。

両方を宣言していない場合は、サービス/クライアントが1つのバインディングで通信するように制限していることを意味します。

関連する問題