自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF運行機制相關功能解析

開發(fā) 開發(fā)工具
WCF運行機制其實并不復雜,我們可以先從它的體系架構(gòu)等方面進行詳細的分析,以方便大家對此的理解,并從中獲得一些幫助。

WCF開發(fā)工具是一個主要作用于.NET Framework 3.5的開發(fā)插件。那么WCF運行機制是個什么樣的呢?它應當如何正確的操作才能保證運行順利呢?在這里我們將會針對WCF運行機制做一個詳細的介紹。#t#

1、WCF運行機制是怎樣運行的?

如果從宏觀的角度來分析WCF的運行機制,它的實現(xiàn)并不復雜。WCF的體系架構(gòu)是基于一種攔截機 制來實現(xiàn)的,負責傳遞和攔截消息的組件為通道,在客戶端發(fā)出對服務端服務的調(diào)用時,首先會通過一個服務代理對象,將調(diào)用方提供的對象序列化到消息中,然后 該消息則通過通道進行傳遞。通道不只是包括一個,而是多個通道對消息進行處理,包括傳輸、消息編碼、管理會話、傳播事務等,但最底層的通道總是傳輸通道。 這些通道的構(gòu)成形成了一個通道堆棧。由于對象已經(jīng)被序列化,因而此時通道傳遞的消息可以跨進程或機器進行傳遞,利用傳輸通道傳遞到服務端。服務端的構(gòu)成與 客戶端基本相似,仍然是通過通道棧中最底層的傳輸通道接收消息,然后解析消息編碼,并一層層地往上傳輸。在服務端的通道棧之上,則是一個分發(fā)器 (Dispatcher,或者說是調(diào)度器),它會首先對消息進行檢查,然后選擇一個客戶端要調(diào)用的操作。在這個過程中,消息會被反序列化。

下圖說明了WCF的整個運行過程:

WCF運行機制過程 

 

由 于WCF通過通道的方式傳遞消息,整個通道同時擔當了偵聽器和攔截器的功能,它可以根據(jù)服務的定義,在方法執(zhí)行的前或后執(zhí)行不同的操作,例如事務、會話管 理、安全等。這些操作在WCF中,大多數(shù)都可以以Attribute的方式應用到服務契約上,這樣的實現(xiàn)方式,就類似于采用了AOP(面向服務編程)的方 法為服務提供了大量的基礎功能,有助于簡化服務開發(fā)者的工作。

2、WCF運行機制決定我們的選擇

在Windows平臺 下,尤其是在.NET平臺下開發(fā)面向服務的應用程序,或者開發(fā)分布式系統(tǒng),最佳選擇就是WCF。為什么呢?原因就在于WCF涵蓋了之前微軟推出的所有用于 分布式開發(fā)的技術(shù),包括Remoting、Web Services、WSE、MSMQ等,并以一種統(tǒng)一的編程模式來實現(xiàn)。

WCF既支持 具有互操作性的Web服務,也能夠?qū)崿F(xiàn).NET客戶端與.NET服務端的通信,提供了分布式事務的支持,同時在安全性上,它完全遵循了WS-*的標準,此 外,它還支持隊列服務,可以非常方便地利用消息隊列完成異步操作與脫機調(diào)用。而這些功能,以前的技術(shù)都只是部分的實現(xiàn)。如下表所示:

WCF運行機制表格 

WCF同時也使得面向服務編程更加簡單而統(tǒng)一了。如果采用舊有的技術(shù),由于各種技術(shù)的編程模型完全不一致,使得程序的遷移非常的困難。例 如,最初采用.NET Remoting技術(shù)開發(fā)的分布式系統(tǒng),由于業(yè)務需求的變化,要求發(fā)布具有互操作性的Web服務,就需要重新定義服務。并且,客戶端的調(diào)用方式也發(fā)生了變 化,需要添加Web引用,通過UDDI去發(fā)現(xiàn)服務。

采用WCF運行機制則不然。WCF引入了用通道,它封裝了消息的通信細節(jié),例如編碼、事務處 理、安全等,然后又通過引入綁定的概念,封裝了通道的組成順序與處理細節(jié)。最后,引入了獨有的Endpoint元素,集成了地址、綁定和契約之間的“三位 一體”,以最簡單的方式定義和發(fā)布服務。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-02-22 15:00:02

WCF信道工廠

2023-05-26 08:01:01

FacebookVelox機制

2010-03-02 17:43:31

WCF框架處理流程

2015-11-20 11:20:54

js開發(fā)

2017-05-31 13:16:35

PHP運行機制原理解析

2019-05-10 14:00:21

小程序運行機制前端

2009-02-03 14:00:20

PHP運行PHP調(diào)用PHP原理

2009-12-11 10:52:37

PHP運行機制

2010-02-01 17:19:30

C++運行機制

2019-08-15 10:17:16

Webpack運行瀏覽器

2019-10-11 09:00:00

JavaScriptEvent Loop前端

2018-12-26 16:30:09

SQL Server內(nèi)部運行機制數(shù)據(jù)庫

2010-01-05 16:10:21

.NET Framew

2012-03-06 10:22:00

程序

2009-10-22 17:10:04

CLR和JRE運行機制

2010-09-28 11:05:49

jQuery

2015-11-16 11:17:30

PHP底層運行機制原理

2016-12-13 14:12:25

程序機制

2016-12-14 14:41:20

Hello World程序運行機制

2010-02-26 16:05:14

寄宿WCF服務
點贊
收藏

51CTO技術(shù)棧公眾號