wcftestclient - 我可以连接到特定端点吗?

时间:2012-01-12 11:39:05

标签: .net wcf metadata endpoint wcftestclient

这应该是一个简单的问题。

我无法使用WCFTestClient工具连接到特定端点。我有一个服务配置。像这样:

<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>

如果我传递' http:// localhost:2659 / Tester.svc / ep1 '或' http:// localhost:2659 / Tester.svc / ep2 “我得到了”无法从...中获取元数据“但是如果我通过' http:// localhost:2659 / Tester.svc ,它可以工作并向我显示两个端点。

有谁知道我错过了什么?

EDIT1 :这甚至可能吗?

1 个答案:

答案 0 :(得分:3)

正确行为

在WCF中,服务的元数据默认在服务的基地址提供。

如果您在自定义流程中托管服务,则可以自定义基址的URL,甚至可以使用baseAddresses configuration section添加新地址。如果你在IIS中托管服务,这似乎是你的情况,那么基地址始终是.svc文件的URL。

修改 如果您需要两个完全独立的端点,则必须创建两个服务实现,每个合同一个,并在配置文件中使用不同的元素配置它们。只要端点是同一服务的一部分,您就只能从服务的基地址中检索元数据,在您的情况下,该地址是.svc文件的URL。