WCF 第五章 行為

2022-05-08 12:30:09 字數 2863 閱讀 9585

行為是wcf影響執行時操作的類。行為作為wcf執行時被呼叫,在客戶端和服務端執行並作為訊息在兩者之間流轉。因為行為執行在這些重要的時間,它們被用來實現很多wcf的內建特性。它們也是乙個重要的自定義擴充套件點。

例如,servicehost用來定義乙個服務端的例項和併發方面,另外也分發訊息給適當的操作。當一條訊息被乙個服務接收到並分發給乙個類的 特定方法時,servicehost應該為每次請求建立乙個類的例項還是重用例項?但servicehost呼叫類的方法時,它需要加入到乙個事務的列表 中嗎?這些都在行為中定義並且在初始化中使用。

行為有三種初始型別。服務行為執行在服務端並能訪問所有終結點。它們控制一些諸如例項和事務的元件。服務行為在認證和審計中也有。終結點行為的 使用範圍是服務終結點。這些對檢測訊息以及處理服務端接收/傳送訊息非常適用。操作行為的作用範圍是操作層次並且對乙個服務操作的操作序列化,事務流和參 數處理非常適合。除了這三個,wcf也定義了**行為,與服務行為類似,但是控制雙工通訊中在客戶端的終結點的建立。

為了理解行為是如何使用的,有必要考慮執行時是如何初始化的。這是通過在客戶端的channelfactory和在服務端的servicehost.這兩個類都執行了類似的功能:

1. 接收乙個.net型別作為輸入而且讀取它的屬性資訊。

3. 建立執行時環境結構,servicedescription.

4. 開始通訊。在客戶端,channelfactory使用通道鏈結服務端;在服務端,servicehost開啟通道並監聽訊息。

1.引數檢測。檢測並/或改變資料的.net表現形式,在資料被轉換成xml前。

2.格式化訊息。檢測並/或改變資料當資料在.net型別和xml間轉換時。

3.訊息檢測。在資料被轉成.net型別前,檢測並/或改變資料的xml表現形式。

在服務端,行為可以用在兩個額外的場景中:

操作選擇。在服務端,檢測接收到的訊息並確定應該呼叫哪個服務。

操作呼叫。在操作層,呼叫類的方法。

5.1 描述了當訊息在客戶端和服務端之間傳送時行為元素間的控制流呼叫。當客戶端的應用**呼叫getprice(...),引數檢測器和訊息格式化器被呼叫並 傳遞.net格式的引數。然後,也是在客戶端,訊息檢測器被呼叫並傳遞xml訊息。在服務端,當訊息到達通道,訊息檢測器和操作選擇器被呼叫並檢測和確認 哪乙個操作應該接收訊息。訊息編碼器然後被呼叫訊息轉換成.net型別,引數檢測器被呼叫並在.net表示中傳遞訊息。最後,操作呼叫器被用來呼叫目標類 的方法,同時做任何設定和拆卸.

正如你在5.1中看的那樣,有很多擷取點存在以便於行為可以監控並修改訊息流。它們也在合適的位置來影響乙個服務的整體效能表現。

**自出處:

行為是wcf影響執行時操作的類。行為作為wcf執行時被呼叫,在客戶端和服務端執行並作為訊息在兩者之間流轉。因為行為執行在這些重要的時間,它們被用來實現很多wcf的內建特性。它們也是乙個重要的自定義擴充套件點。

例如,servicehost用來定義乙個服務端的例項和併發方面,另外也分發訊息給適當的操作。當一條訊息被乙個服務接收到並分發給乙個類的 特定方法時,servicehost應該為每次請求建立乙個類的例項還是重用例項?但servicehost呼叫類的方法時,它需要加入到乙個事務的列表 中嗎?這些都在行為中定義並且在初始化中使用。

行為有三種初始型別。服務行為執行在服務端並能訪問所有終結點。它們控制一些諸如例項和事務的元件。服務行為在認證和審計中也有。終結點行為的 使用範圍是服務終結點。這些對檢測訊息以及處理服務端接收/傳送訊息非常適用。操作行為的作用範圍是操作層次並且對乙個服務操作的操作序列化,事務流和參 數處理非常適合。除了這三個,wcf也定義了**行為,與服務行為類似,但是控制雙工通訊中在客戶端的終結點的建立。

為了理解行為是如何使用的,有必要考慮執行時是如何初始化的。這是通過在客戶端的channelfactory和在服務端的servicehost.這兩個類都執行了類似的功能:

1. 接收乙個.net型別作為輸入而且讀取它的屬性資訊。

3. 建立執行時環境結構,servicedescription.

4. 開始通訊。在客戶端,channelfactory使用通道鏈結服務端;在服務端,servicehost開啟通道並監聽訊息。

1.引數檢測。檢測並/或改變資料的.net表現形式,在資料被轉換成xml前。

2.格式化訊息。檢測並/或改變資料當資料在.net型別和xml間轉換時。

3.訊息檢測。在資料被轉成.net型別前,檢測並/或改變資料的xml表現形式。

在服務端,行為可以用在兩個額外的場景中:

操作選擇。在服務端,檢測接收到的訊息並確定應該呼叫哪個服務。

操作呼叫。在操作層,呼叫類的方法。

5.1 描述了當訊息在客戶端和服務端之間傳送時行為元素間的控制流呼叫。當客戶端的應用**呼叫getprice(...),引數檢測器和訊息格式化器被呼叫並 傳遞.net格式的引數。然後,也是在客戶端,訊息檢測器被呼叫並傳遞xml訊息。在服務端,當訊息到達通道,訊息檢測器和操作選擇器被呼叫並檢測和確認 哪乙個操作應該接收訊息。訊息編碼器然後被呼叫訊息轉換成.net型別,引數檢測器被呼叫並在.net表示中傳遞訊息。最後,操作呼叫器被用來呼叫目標類 的方法,同時做任何設定和拆卸.

正如你在5.1中看的那樣,有很多擷取點存在以便於行為可以監控並修改訊息流。它們也在合適的位置來影響乙個服務的整體效能表現。

WCF 第五章 行為 實現事務 操作行為

有兩個場景一般用作事務的參考。多步驟商業過程是典型跨度分,天,月的長時間執行過程。它們可以涉及多個組織和基於人的工作流。短期執行事務是那些在幾秒鐘完成並很少有外部依賴的商業操作。儘管它們都有定義的很好的介面和確定的工作流,它們是根本不同的事物。wcf支援短期執行的事務。它通過借助.net和windo...

第五章 物件的行為

方法呼叫桟是一種資料結構。先進後出 呼叫方法 1 方法返回值。在這種情況下,乙個基本資料型別或引用型別被傳給方法的呼叫者。2 方法不返回乙個值。在這種情況下,返回值被宣告為 void.3 方法丟擲乙個異常給方法的呼叫者。我們將 異常處理 一章討論異常。方法的簽名包括方法名.引數列表,返回值的資料型別...

python第五章 Python學習(第五章)

記錄所有的名片字典 card list defshow menu 顯示資訊 print 50 print 歡迎使用 名片管理系統 v1.0 print print 1.新增名片 print 2.顯示全部 print 3.搜尋名片 print print 0.退出系統 print 50 defnew ...