这应该是一个简单的问题。
我无法使用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 :这甚至可能吗?
答案 0 :(得分:3)
正确行为。
在WCF中,服务的元数据默认在服务的基地址提供。
如果您在自定义流程中托管服务,则可以自定义基址的URL,甚至可以使用baseAddresses configuration section添加新地址。如果你在IIS中托管服务,这似乎是你的情况,那么基地址始终是.svc
文件的URL。
修改强> 如果您需要两个完全独立的端点,则必须创建两个服务实现,每个合同一个,并在配置文件中使用不同的元素配置它们。只要端点是同一服务的一部分,您就只能从服务的基地址中检索元数据,在您的情况下,该地址是.svc文件的URL。