2012-01-12 7 views
4

これは簡単な質問です。wcftestclient - 特定のエンドポイントに接続できますか?

WCFTestClientツールを使用して特定のエンドポイントに接続できません。私はサービス設定を持っています。このように:または 'ます。http:// localhostを:2659/Tester.svc/EP2' 私が得る

<service name="CO.Services.SvcTest"> 
     <endpoint address="ep1" binding="basicHttpBinding" bindingConfiguration="" 
      bindingNamespace="http://api.CO.com/Services/Tester/ep1" 
      contract="CO.Services.ISvcTest" /> 
     <endpoint address="ep2" binding="basicHttpBinding" bindingConfiguration="" 
      bindingNamespace="http://api.CO.com/Services/Tester/ep2" 
      contract="CO.Services.ISvcTest_v2" /> 
     <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" 
      name="" contract="IMetadataExchange" /> 
     </service> 

私は ':// localhostの2659/Tester.svc/EP1のhttp' を渡す場合「メタデータを取得できません...」というメッセージが表示されますが、「:http:// localhost:2659/Tester.svcを渡すと両方のエンドポイントが表示されます。

私には何が分からないのですか?

EDIT1:これも可能ですか?

答えて

3

これは、の正しい動作です。

WCFでは、サービスのメタデータは、デフォルトでサービスのベースアドレスで提供されます。

サービスをカスタムプロセスでホストする場合は、ベースアドレスのURLをカスタマイズしたり、baseAddresses configuration sectionを使用して新しいアドレスを追加することもできます。あなたのケースであると思われるIISでサービスをホストしている場合、ベースアドレスは常に.svcファイルのURLです。

EDIT: あなたは2つの完全に独立したエンドポイントにしたい場合は、あなたがに2つのサービスの実装、各契約のための1つを作成し、コンフィギュレーションファイル内の別の要素とそれらを構成する必要があります。エンドポイントが同じサービスの一部である限り、サービスのベースアドレスからメタデータを取得することができます。この場合、場合によっては.svcファイルのURLが使用されます。

+0

私は間違った質問をするかもしれません...そしてどうすればいいですか? :) – Learner

+0

@Cristiそれは正確に何を達成したいですか? –

+0

2つの異なるエンドポイントをバージョン管理に使用したいと考えています。 WCFTestToolを使用して一度に1つのエンドポイントだけをロードする方法を知りたかったのです。 – Learner

関連する問題