我有一个 WCF 服务需要满足以下要求:
- Endpoint1:它应该使用带有 Windows 身份验证的 netTCP 绑定。
- Endpoint2:它应该使用带有自定义用户名和密码验证的 netTCP 绑定。
我可以通过创建两种服务行为来单独完成这两项工作,一种用于 Windows 身份验证,另一种用于用户名和密码,但这样我必须为上述功能公开 2 个服务而不是 1 个。我正在寻找一种方法,通过这种方法我可以只公开一个服务,并且通过不同的端点配置,我能够满足要求。
代码片段和配置会很有帮助。
我有一个 WCF 服务需要满足以下要求:
我可以通过创建两种服务行为来单独完成这两项工作,一种用于 Windows 身份验证,另一种用于用户名和密码,但这样我必须为上述功能公开 2 个服务而不是 1 个。我正在寻找一种方法,通过这种方法我可以只公开一个服务,并且通过不同的端点配置,我能够满足要求。
代码片段和配置会很有帮助。
这是 WCF 支持的场景之一,单个接口公开为 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>