|
作為WCF中一個核心概念,終結(jié)點在不同的語境中實際上指代不同的對象。站在服務(wù)描述的角度,我們所說的終結(jié)點實際上是指ServiceEndpoint對象。如果站在WCF服務(wù)端運行時框架來說,終結(jié)點實際上指代的是終結(jié)點分發(fā)器(EndpointDispatcher)。而ServiceEndpoint與EndpointDispatcher是一一匹配的,并且前者是創(chuàng)建后者的基礎(chǔ)。而終結(jié)點分發(fā)器具有自己的運行,即分發(fā)運行時(DispatchRuntime)。
目錄
一、終結(jié)點分發(fā)器(EndpointDispatcher)
二、分發(fā)運行時(DispatchRuntime)
可擴展組件
認證與授權(quán)
服務(wù)實例上下文
會話關(guān)閉通知
同步上下文
消息檢驗
操作與操作選擇
可擴展屬性
授權(quán)
審核
事務(wù)與會話
未處理操作
SOAP ValidateMustUnderstand處理
并發(fā)控制
一、終結(jié)點分發(fā)器(EndpointDispatcher)
除了之前介紹的三個輔助信道分發(fā)器向匹配的終結(jié)點分發(fā)器實施消息路由的三個屬性(AddressFilter、ContractFilter和FilterPriority)之外,你還可以通過屬性ContractName和ContractNamespace得到服務(wù)契約的名稱和命名空間,以通過EndpointAddress屬性得到相應(yīng)的終結(jié)點地址。將消息路由到該終結(jié)點分發(fā)器的信道分發(fā)器可以通過屬性ChannelDispatcher獲得。但是對于終結(jié)點分發(fā)器來說,其重要的還是通過屬性DispatchRuntime表示的分發(fā)運行時。
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技術(shù):WCF服務(wù)端運行時架構(gòu)體系詳解[下篇],轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。