成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

挖掘WCF擴展兩方面分析

開發 后端
這里就WCF擴展調度程序/代理、實現自定義做出詳細的介紹,喜歡研究WCF的朋友一定必看,要仔細閱讀,一定會有很大的收獲。

大家知道嗎、隨著WCF技術的提高,WCF提供了許多擴展點,供開發人員自定義運行時行為,從而實現服務調度和客戶代理調用。經過我的努力學習,在這里和大家一起分享一下吧。您可以通過編寫能以聲明方式應用到服務中的自定義行為來使用這些擴展點 。WCF 在通道層的頂部還提供了一個高級運行時,主要是針對應用程序開發人員。在 WCF 文檔中,它常被稱為服務模型層。該高級運行時主要由一個稱作調度程序(在服務主機上下文中)的組件和一個稱作代理(在客戶端上下文中)的組件組成。

#T#調度程序/代理組合的主要作用是在 WCF 消息對象和 .NET Framework 方法調用間進行轉換)。這些組件按照一系列明確定義的步驟來執行此過程,并在此過程的每個步驟中都提供了可供插入的擴展點。您可以使用這些擴展點來實現各種自定義行為,包括消息或參數驗證、消息日志記錄、消息轉換、自定義序列化/反序列化格式、輸出緩存、對象共用、錯誤處理和授權等.

1.調度程序/代理WCF擴展

調度程序和代理都提供了大量的擴展點,您可以在其中插入自己的代碼;這些擴展常被稱為偵聽器,因為它們允許您偵聽默認的運行時執行行為。不過,我通常稱它們為運行時擴展。顯示了客戶端代理體系結構及可用的擴展點。代理的主要作用是將調用方提供的對象(參數)轉換為 WCF 消息對象,然后將后者提供給底層通道堆棧進行網絡傳輸。

可以通過 ClientOperation 和 ClientRuntime 對象在代理上配置這些擴展。您可以找到一個用于各種服務操作的 ClientOperation 對象和一個用于從整體上配置代理的 ClientRuntime 對象。ClientOperation 提供了用于管理參數檢查和消息格式化擴展的屬性,而 ClientRuntime 則提供了用于管理消息檢查擴展的屬性。

當調度程序收到來自通道堆棧的 Message 對象時,遇到的第一個擴展點便是消息檢查。然后,調度程序必須選擇一個要調用的操作,然后才能繼續 — 這里有一個擴展點用于覆蓋默認的操作選擇行為。確定目標操作后,調度程序會將消息反序列化為調用目標方法時可作為參數提供的對象。此時,調度程序提供用于進行消息格式化(反序列化)和參數檢查的擴展點。調度程序的最后一步是調用提供就緒參數的目標方法。您甚至可以通過提供自定義的操作調用程序對象來替代這一步。

可以通過 DispatchRuntime 和 DispatchOperation 對象在調度程序上配置這些擴展。稍后我將簡要介紹如何訪問這些對象,不過,首先讓我們討論一下如何實現它們。

2 實現自定義WCF擴展

上述的每個WCF擴展點都是根據 .NET 接口定義來模擬的。注意,在某些情況下,相同的邏輯擴展類型要求在調度程序和代理端之間使用另一接口。下面我將詳細介紹如何實現其中的部分接口。

消息檢查器:不管是什么操作,假設您要檢查的是流入和流出服務的消息,而不是參數。在這種情況下,您需要使用消息檢查擴展點。與參數檢查不同,此時用于調度程序和代理(分別是 IDispatchMessageInspector 和 IClientMessageInspector)的消息檢查接口是不同的。不過,當需要支持兩端時,始終可以實現這兩個接口。

IDispatchMessageInspector 有兩個方法:AfterReceiveRequest 和 BeforeSendReply,這樣您就有前偵聽點和后偵聽點來檢查 WCF 消息對象了。IClientMessageInspector 還有兩個提供相反點的方法:AfterReceiveReply 和 BeforeSendRequest。

責任編輯:田樹 來源: 博客
相關推薦

2010-04-20 14:55:41

負載均衡

2019-03-21 11:03:47

HDFSMapReduceHadoop

2010-04-26 15:37:18

DNS負載均衡

2009-10-27 13:45:32

VB.NET C#區別

2009-11-06 09:57:32

2011-11-21 10:37:51

虛擬化微軟虛擬化Hyper-V

2021-01-04 11:13:01

人臉識別

2009-10-10 13:46:44

服務器測試方法

2022-02-22 09:49:57

B 端設計趨勢視覺風格

2014-01-22 09:28:19

IDC

2009-10-09 17:30:11

服務器測試方法

2013-09-18 16:24:26

2021-11-18 23:33:17

API 抽象桌面

2020-03-26 14:51:16

工信部移動互聯網手機

2018-04-15 15:47:18

2009-11-06 09:05:41

WCF性能

2010-03-17 15:45:13

無線設備兼容性

2009-11-05 09:59:59

WCF綁定

2009-11-09 10:35:10

WCF REST服務

2010-06-13 17:16:12

IPv6協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99re6热在线精品视频播放 | 黑人中文字幕一区二区三区 | 日本免费在线观看视频 | 成年人网站在线观看视频 | 亚洲国产成人av好男人在线观看 | av网站免费观看 | 视频1区2区 | 日韩免费视频一区二区 | 人人操日日干 | 91麻豆精品国产91久久久久久久久 | 在线免费黄色小视频 | 91在线精品一区二区 | 男女又爽又黄视频 | 欧美国产精品一区二区三区 | 91porn成人精品 | 亚洲国产欧美日韩 | 亚洲精品乱码久久久久久9色 | 精品美女 | 亚洲一区二区久久久 | 国产美女一区二区 | 毛片一级黄色 | 亚洲欧美激情精品一区二区 | 国产男女视频网站 | 午夜免费观看 | 91精品国产综合久久久密闭 | 懂色av色香蕉一区二区蜜桃 | 丁香久久 | 成人精品在线观看 | 国产精品日本一区二区在线播放 | 久久久久亚洲精品中文字幕 | 亚洲性视频| 日本国产精品视频 | 成人精品国产 | 国产99热在线 | 日本一区二区不卡 | 国产免费看| 欧美三级电影在线播放 | 久久久91精品国产一区二区精品 | 国产精品亚洲精品 | 精品久 | 日韩中文字幕在线观看 |