原創 總結 WCF技術剖析系列總結篇

2021-09-05 21:10:44 字數 2371 閱讀 8190

近半年以來,一直忙於我的第一本wcf專著《wcf技術剖析》的寫作,一直無暇管理自己的blog。到目前為止《wcf技術剖析(卷1)》的寫作暫告一段落,初步預計於下個月由武漢博文視點出版。在《wcf技術剖析》寫作期間,對wcf又有了新的感悟,為此以書名開始本人的第三個wcf系列。本系列的目的在於對《wcf技術剖析》的補充,會對書中的一些內容進行展開講述,同時會囊括很多由於篇幅的原因忍痛割棄的內容。

1、通過乙個asp.net程式模擬wcf基礎架構

本系列的第一篇,我將會對wcf的基本架構作乙個大致的講解。不過,一改傳統對wcf的工作流程進行平鋪直敘,我將另闢蹊徑,借助於我們熟悉的asp.net作為請求處理平台,通過乙個簡單的託管程式模擬整個wcf客戶端和服務端的架構。本篇文章的大部分內容節選自《wcf技術剖析(卷1)》第八章。(閱讀全文

2、再談iis與asp.net管道

在2023年9月份,我曾經寫了三篇詳細介紹iis架構和asp.net執行時管道的文章,深入介紹了iis 5.x與iis 6.0http請求的監聽與分發機制,以及asp.net執行時管道對http請求的處理流程:

[原創]asp.net process model之一:iis 和 asp.net isapi

[原創]asp.net process model之二:asp.net http runtime pipeline - part i

[原創]asp.net process model之二:asp.net http runtime pipeline - part ii )

3、如何進行基於非http的iis服務寄宿

在上面一篇文章中,我們對不同版本的iis,以及asp.net得的實現機制進行了詳細而深入的分析。在介紹iis7.0的時候,我們談到,http.sys+w3svc實現了基於http的請求監聽,在此基礎上引入了三組網路***(listener)和監聽介面卡(adapter),實現了基於tcp、named pipes和msmq的網路監聽。由於iis 7提供了基於非http網路協議的監聽支援,那麼就意味著當我們當我們通過iis進行wcf服務寄宿(hosting)的時候,可以採用非http的通訊方式。在本篇文章中,我們將通過乙個簡單例項介紹進行非http的iis服務寄宿。(閱讀全文

4、基於iis的wcf服務寄宿(hosting)實現揭秘

通過《再談iis與asp.net管道》的介紹,相信讀者已經對iis和asp.net的請求處理管道有了乙個大致的了解,在此基礎上去理解基於iis服務寄宿的實現機制就顯得相對容易了。概括地說,基於iis的服務寄宿依賴於兩個重要的物件:system.servicemodel.activation.httpmodule和system. servicemodel.activation.httphandler。(閱讀全文

5、利用asp.net相容模式建立支援會話(session)的wcf服務

在《基於iis的wcf服務寄宿(hosting)實現揭秘》中,我們談到在採用基於iis(或者說基於asp.net)的wcf服務寄宿中,具有兩種截然不同的執行模式:asp.net並行(side by side)模式和asp.net相容模式。對於前者,wcf通過httpmodule實現了服務的寄宿,而對於後者,wcf的服務寄宿通過乙個httphandler實現。只有在asp.net相容模式下,我們熟悉的一些asp.net機制才能被我們使用,比如通過httpcontext的請求下下文;基於檔案或者url的授權;httpmodule擴充套件;身份模擬(impersonation)等。

由於在asp.net相容模式下,asp.net採用與.aspx page完全一樣的方式處理基於.svc的請求,換言之,我們就可以借助當前httpcontext的sessionstate維護會話狀態,進而建立乙個支援會話的wcf service。接下來,我們就通過乙個簡單的例子,一步步地建立這樣的會話服務。本案例採用如圖1所示的3層結構。(閱讀全文

6、為什麼在基於asp.net應用寄宿(hosting)下配置的baseaddress無效

本篇文章**於幾天前乙個朋友向我諮詢的問題。問題是這樣的,他說他採用asp.net應用程式的方式對定義的wcf服務進行寄宿(hosting),並使用配置的方式對服務的baseaddress進行了設定,但是在建立servicehost的時候卻丟擲invalidoperationexception,並提示相應address scheme的baseaddress找不到。我意識到這可能和wcf中用於判斷服務寄宿方式的邏輯有關,於是我讓這位朋友將相同的服務寄宿**和配置遷移到gui程式或者console應用中,看看是否正常。結果如我所想,一切正常,個人覺得這應該是wcf的乙個bug。今天撰文與大家討論,看看大家對這個問題有何見解。(閱讀全文

) artech

出處:

原創 總結 WCF技術剖析系列總結篇

近半年以來,一直忙於我的第一本wcf專著 wcf技術剖析 的寫作,一直無暇管理自己的blog。到目前為止 wcf技術剖析 卷1 的寫作暫告一段落,初步預計於下個月由武漢博文視點出版。在 wcf技術剖析 寫作期間,對wcf又有了新的感悟,為此以書名開始本人的第三個wcf系列。本系列的目的在於對 wcf...

WCF 學習總結2 配置WCF

btw 元資料端點 通過ws metadataexchange幫我們實現了對服務的描述,提供了wsdl,啟動host之後我們可以通過 http localhost 8732 design time addresses wcfservicelib service1 wsdl 檢視到公開的服務描述。關於...

原創 1 29總結

下圖就是乙個html的乙個簡單例項 宣告有助於瀏覽器中正確顯示網頁 宣告不區分大小寫,圖為html 5 宣告 html 元素是 html 頁面的根元素 head 元素包含了文件的元 meta 資料,如 meta charset utf 8 定義網頁編碼格式為 utf 8。title 元素描述了文件的...