【问题标题】:wcftestclient - can i connect to a specific endpoint?wcftestclient - 我可以连接到特定的端点吗?
【发布时间】:2012-02-08 16:55:18
【问题描述】:

这应该是一个直截了当的问题。

我无法使用 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:这可能吗?

【问题讨论】:

    标签: .net wcf metadata endpoint wcftestclient


    【解决方案1】:

    这是正确的行为

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

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

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

    【讨论】:

    • 好吧,也许我把问题放错了……那我该怎么做呢? :)
    • @Cristi 你到底想达到什么目的?
    • 我想使用 2 个不同的端点进行版本控制。所以我想知道如何使用 WCFTestTool 一次只加载一个端点。
    • @Cristi 如果您想要两个完全独立的端点,那么您必须创建两个服务实现,每个合约一个,并使用不同的&lt;service&gt; 元素配置它们你的配置文件。只要端点是同一服务的一部分,您就只能从服务的基地址检索元数据,在您的情况下是.SVC 文件的 URL。
    • 我明白了,所以我的问题的答案是:“不可能”...谢谢 Enrico!
    猜你喜欢
    • 2021-03-14
    • 2022-01-21
    • 1970-01-01
    • 2019-02-14
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多