Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WCF服务中何时/为什么使用多个端点而不是单个端点?_Wcf_Security_Endpoints - Fatal编程技术网

在WCF服务中何时/为什么使用多个端点而不是单个端点?

在WCF服务中何时/为什么使用多个端点而不是单个端点?,wcf,security,endpoints,Wcf,Security,Endpoints,在WCF服务中使用单个端点或多个端点有什么区别?有没有时候你会想用一个而不是另一个 在我的情况下,我们有两个端点:一个用于授权,另一个用于数据。一旦通过Auth端点登录,就可以访问数据端点并访问所有数据 是否有理由将数据端点拆分为多个端点?Data endpoint Contract当前由多个.cs类组成,这些类都是一个大的部分类的一部分。您可以使用不同的端点按函数进行逻辑分组,或者可以在每个端点的绑定中应用不同级别的安全性。如果您的服务面临不同的潜在客户端组,多个端点非常有意义: 使用带有W

在WCF服务中使用单个端点或多个端点有什么区别?有没有时候你会想用一个而不是另一个

在我的情况下,我们有两个端点:一个用于授权,另一个用于数据。一旦通过Auth端点登录,就可以访问数据端点并访问所有数据


是否有理由将数据端点拆分为多个端点?Data endpoint Contract当前由多个.cs类组成,这些类都是一个大的部分类的一部分。

您可以使用不同的端点按函数进行逻辑分组,或者可以在每个端点的绑定中应用不同级别的安全性。

如果您的服务面临不同的潜在客户端组,多个端点非常有意义:

  • 使用带有Windows凭据的
    net.tcp
    绑定的一个端点可用于来自防火墙后面的公司内部客户端,这些客户端通过公司Active Directory的身份验证;这种绑定速度快,性能好,使用AD集成进行设置时安全性相对较低

  • 第二个端点可以使用
    wsHttpBinding
    ,并强制实施传输级安全(
    https://
    )-因此某些客户端可以通过安全链接调用您的服务

  • 第三个端点可能使用不安全的
    basicHttpBinding
    ,以实现最大的向后兼容性-例如,所有类型的客户端(还有许多非.NET客户端,如Ruby、PHP、其他脚本语言等)都可以连接到此端点;也许,不安全的端点不允许调用所有方法,或者它可能有其他限制(例如,只有在容量允许的情况下,才作为最后一个优先级调用处理)

  • 第四个端点可能以restful方式通过
    webHttpBinding
    公开相同的服务,以便更多的设备(如手机等)可以连接到它


拥有并公开多个端点可以使您的服务更容易访问,并且您可以从每个场景的“最佳”绑定中获益。

您能否扩展“不同级别的安全性”的含义。您是指用户访问端点还是功能性访问,例如Web访问与Intranet访问?如果我有6个或更多的服务合同和一个实现这些合同的类,那么会有性能优势还是劣势?