gpt4 book ai didi

wcf - 如何公开具有多种服务行为的单个 WCF 服务?

转载 作者:行者123 更新时间:2023-12-01 04:02:48 25 4
gpt4 key购买 nike

我有一个 WCF 服务需要满足以下要求:

  • Endpoint1:它应该使用带有 Windows 身份验证的 netTCP 绑定(bind)。
  • Endpoint2:它应该使用带有自定义用户名和密码验证的 netTCP 绑定(bind)。

  • 我可以通过创建两种服务行为来单独完成这两项工作,一种用于 Windows 身份验证,另一种用于用户名和密码,但这样我必须为上述功能公开 2 个服务而不是 1 个。我正在寻找一种方法,通过这种方法我可以只公开一个服务,并且通过不同的端点配置,我能够满足要求。

    代码片段和配置会很有帮助。

    最佳答案

    这是 WCF 支持的场景之一,单个接口(interface)公开为 2 个不同的端点。

    它们将有两个不同的地址,但指向相同的代码。

    <service 
    name="Microsoft.ServiceModel.Samples.CalculatorService"
    behaviorConfiguration="CalculatorServiceBehavior">
    <!-- This endpoint is exposed at the base address provided by host: http://localhost/servicemodelsamples/service.svc -->
    <endpoint address=""
    binding="basicHttpBinding"
    contract="Microsoft.ServiceModel.Samples.ICalculator" />
    <!-- secure endpoint exposed at {base address}/secure: http://localhost/servicemodelsamples/service.svc/secure -->
    <endpoint address="secure"
    binding="wsHttpBinding"
    contract="Microsoft.ServiceModel.Samples.ICalculator" />
    ...
    </service>

    见: http://msdn.microsoft.com/en-us/library/ms751515.aspx

    关于wcf - 如何公开具有多种服务行为的单个 WCF 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340260/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com