WCF服务端运行时架构体系详解[下篇]

  作为WCF中一个核心概念,终结点在不同的语境中实际上指代不同的对象。站在服务描述的角度,我们所说的终结点实际上是指ServiceEndpoint对象。如果站在WCF服务端运行时框架来说,终结点实际上指代的是终结点分发器(EndpointDispatcher)。而ServiceEndpoint与EndpointDispatcher是一一匹配的,并且前者是创建后者的基础。而终结点分发器具有自己的运行,即分发运行时(DispatchRuntime)。

目录
一、终结点分发器(EndpointDispatcher)
二、分发运行时(DispatchRuntime)
      可扩展组件            
            认证与授权
            服务实例上下文
            会话关闭通知
            同步上下文
            消息检验
            操作与操作选择
   可扩展属性
           授权
           审核
           事务与会话
           未处理操作
           SOAP ValidateMustUnderstand处理
           并发控制

  一、终结点分发器(EndpointDispatcher)

  除了之前介绍的三个辅助信道分发器向匹配的终结点分发器实施消息路由的三个属性(AddressFilter、ContractFilter和FilterPriority)之外,你还可以通过属性ContractName和ContractNamespace得到服务契约的名称和命名空间,以通过EndpointAddress属性得到相应的终结点地址。将消息路由到该终结点分发器的信道分发器可以通过属性ChannelDispatcher获得。但是对于终结点分发器来说,其重要的还是通过属性DispatchRuntime表示的分发运行时。

public class EndpointDispatcher
{
//其他成员 
public string ContractName { get; }
public string ContractNamespace { get; }

public MessageFilter AddressFilter { get; set; }
public MessageFilter ContractFilter { get; set; }
public int FilterPriority { get; set; }

public ChannelDispatcher ChannelDispatcher { get; }
public DispatchRuntime DispatchRuntime { get; }
public EndpointAddress EndpointAddress { get; }
}

NET技术WCF服务端运行时架构体系详解[下篇],转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。