個人學習WCF筆記(2)

2022-08-02 01:09:10 字數 2017 閱讀 6247

建立服務協定的基本規則:

1.定義服務協定:在類或介面上使用seveicercontractattribute屬性標記。

2.定義服務操作:在方法上使用operationcontractattribute 屬性對其進行標記

3.引數和返回值:

每個操作都有乙個返回值和乙個引數,即使它們為void。可以使用區域性方法將對物件的引用從乙個物件傳遞到另乙個物件,但與 區域性方法不同的是,服務操作不會傳遞對物件的引用, 它們傳遞的只是物件的副本。

這一點很重要,這是因為引數或返回值中使用的每個型別都必須是可序列化的,換言之,該型別的物件必須能夠轉換為位元組流,並能夠從位元組流轉換為物件。

預設情況下,基元(.net內部的型別包括整形,字元型等等)型別是可序列化的,.net framework 中的很多態別都是可序列化的。、

建立服務協定-服務操作的訊息模式:(訊息模式有三種:請求/答覆,單向,雙工)

1.請求/答覆:通過請求/答覆模式,請求傳送方(客戶端應用程式)將接收與請求相關的答覆。這是預設的模式,因為它既支援傳入操作(乙個

或多個引數傳遞到該操作中),也支援返回操作(該操作將乙個或多個輸出值傳回給呼叫方)。

缺點: 如果執行操作需要很長的時間,則會降低客戶端效能和響應能力

優點: 響應訊息中可返回soap 錯誤,這表明可能在通訊或處理中發生了一些與服務有關的錯誤狀況

2.單向:如果wcf 服務應用程式的客戶端不必等待操作完成,並且不處理soap 錯誤,則該操作可以指定單向訊息模式。

單向操作是客戶端呼叫操作並在wcf 將訊息寫入網路後繼續進行處理的操作。通常這意味著,除非在出站訊息中傳送的資料極

其龐大,否則客戶端幾乎立即繼續執行(除非傳送資料時出錯)。此種型別的訊息交換模式支援從客戶端到服務應用程式的類似於事件的行為。

若要為返回void 的操作指定單向訊息交換,請將isoneway 屬性設定為true,預設為false.

此方法與前面的請求/答覆示例相同,但是,將isoneway屬性設定為true 意味著儘管方法相同,服務操作也不會

傳送返回訊息,而客戶端將在出站訊息抵達通道層時立即返回。

3.雙工:雙工模式的特點是,無論使用單向訊息傳送還是請求/答覆訊息傳送方式,服務和客戶端均能夠獨立地向對方傳送訊息。對於必須

直接與客戶端通訊或向訊息交換的任意一方提供非同步體驗(包括類似於事件的行為)的服務來說,這種雙向通訊形式非常有用

由於存在與客戶端通訊的附加機制,雙向模式比請求/答覆或單向模式要略為複雜

若要設計雙工協定,還必須設計**協定,並將該**協定的型別分配給標記服務協定的servicecontractattribute 屬性(attribute)

的callbackcontract 屬性(property)。

若要實現雙工模式,您必須建立第二個介面,該介面包含在客戶端呼叫的方法宣告

建立資料協定(就是引數資料的格式是什麼)

面向服務的應用程式(例如windows communication foundation(wcf) 應用程式)設計為與microsoft 平台和非 microsoft 平台上的

最大可能數量的客戶端應用程式進行互操作。

為了獲得最大可能的互操作性,建議您使用datacontractattribute 和datamemberattribute 屬性對您的型別進行標記,以建立資料協定。

資料協定是服務協定的一部分,用於描述您的服務操作交換的資料。

建立資料協定的約束: 

資料協定是可選的樣式協定:除非您顯式應用資料協定屬性,否則不會序列化任何型別或資料成員

資料協定與託管**的訪問範圍無關:可以對私有資料成員進行序列化,並將其傳送到其他位置,以便可以公開訪問它們

wcf 處理用於啟用操作功能的基礎 soap 訊息的定義,並處理資料型別到訊息正文的序列化和從訊息正文進行的反序列化。資料型別一旦序列化,您就無需在設計操作時考慮基礎訊息交換基礎結構

可以使用其他序列化機制。標準iserializable, serializableattribute和ixmlserializable 機制都可用於處理資料型別到基礎soap 訊息的序列化,這些訊息可將資料型別從乙個應用程式帶到另乙個應用程式

個人學習筆記 2

rm 刪除檔案 rmdir 刪除空檔案 man專門用來檢視命令手冊 配合 help cal檢視日曆 cat將乙個檔案內容顯示到螢幕上 cat filename null 黑洞檔案 賦予null 檔案就會被刪除 awk幫助處理檔案內容 f 指定輸入檔案拆分符號 adduser username 新增新...

git(個人學習2)

1.註冊github賬號 2.建立乙個儲存庫 3.連線 git remote add origin 4.git push u origin master 推送注意事項如果出現 fatal remote origin already exists.解決方案 git remote rm origin 再...

SAP BW個人學習筆記

sap bw個人學習筆記 難免有錯,持續更新,切勿對號入座。一 kpi 1 kpi是線性遞增的 2 kpi關鍵指標 一般情況下,2個模組,就有40個kpi,3個模組,有60多個kpi 二 增強 1 只有不符合要求時,才使用增強,還要使用標準字段。三 財務資料源 財務資料源是用的後像,也即是餘像,只能...