在WCF服务中使用单端点或多端点有什么区别?有时候你会想要使用一个而不是另一个吗?
在我的情况下,我们有两个端点:一个用于授权,一个用于数据。通过Auth端点登录后,您可以访问数据端点并访问所有数据。
是否有理由将数据端点拆分为多个端点?数据端点契约当前由多个.cs类组成,这些类都是一个大的部分类的一部分。
答案 0 :(得分:8)
如果您的服务面向不同的潜在客户群,那么多个端点可能非常有意义:
使用net.tcp
绑定Windows凭据的一个端点可用于来自防火墙后面的公司内部客户端,这些客户端是根据您的公司Active Directory进行身份验证的;这种绑定速度快,性能高,使用AD集成设置安全性相对轻松
第二个端点可能正在使用wsHttpBinding
并强制执行传输级安全性(https://
) - 因此某些客户端可能会在安全链接上调用您的服务
第三个端点可能使用不安全basicHttpBinding
来实现最大向后兼容性 - 例如各种各样的客户端(也有许多非.NET客户端,如Ruby,PHP,其他脚本语言等)可以连接到这个端点;也许,您的不安全端点不会被允许调用所有方法,或者它可能有其他限制(例如,只有在容量允许的情况下才被视为最后优先级调用)
第四个端点可能会以一种宁静的方式在webHttpBinding
上展示您的同一服务,以便更多设备(如电话等)可以连接到它
拥有和公开多个端点可以使您的服务更容易访问,并且您可以从每个方案的“最佳”绑定中受益。
答案 1 :(得分:0)
您可以按功能使用不同的端点进行逻辑分组,或者可以在每个端点的绑定中应用不同级别的安全性。