WCF資料協定

2022-04-03 11:22:57 字數 1746 閱讀 6299

今天還是按部就班的開始在msdn裡面翻找wcf的資料。先從定義開始吧。

看著下面這些**,我貌似發現乙個東西,那就是帶有[datamember]標籤的方法都是可以給客戶端開放使用的,不帶有的客戶端就不給用,好像就是這樣的。

[datacontract(namespace="

")]internal

class

record

[datamember]

internal

double

operandnumberone

set}

[datamember]

internal

double

operandnumbertwo

set}

[datamember]

internal

string

operation

set}

[datamember]

internal

double

result

set}

public

override

string

tostring()

= ", n1, operation, n2, result);}}

在輾轉反側的時候,看到乙個使用不同的編寫器來影響xml的編碼。這個技術貌似就是接下來我需要的東西。通過把文字格式寫成二進位制可以大量減少長度,增加傳輸時候的穩定性。

1

//宣告乙個記憶體流物件

2memorystream stream2

=new

memorystream();3//

使用乙個二進位制的編寫器來影響xml的編碼流

4xmldictionarywriter binarydictionarywriter

=xmldictionarywriter.createbinarywriter(stream2);5//

在序列化物件中通過使用二進位制編寫器來裝載乙個資料例項

6serializer.writeobject(binarydictionarywriter, record1);

7binarydictionarywriter.flush();89

//流的長度比較

10console.writeline(

"text stream is bytes long

", stream1.length);

11console.writeline(

"binary stream is bytes long

", stream2.length);

資料的派生也是可以在這裡運用的,不過**看著怪累的。好了。我貼好這斷休息一下了。

1

//繼承了父類的建構函式並且增添了新的乙個資料2//

但是語言是不是不嚴謹,太隨意了。

3[datacontract(namespace="

")]4public

class

complexnumberwithmagnitude : complexnumber57

8[datamember]

9public

double

magnitude

1012

set13}14

}

好了。我得休息一下了。腦袋發漲了。

注意:所有的**都是來自msdn。

WCF筆記 2 資料協定

一 使用資料協定的好處 1 使用資料協定可以靈活控制哪些成員應該被客戶端識別。2 隱藏真實身份 給類或成員取別名 二 示例 1 服務端 定義實現資料協定的類 using system using system.collections.generic using system.linq using s...

WCF筆記 4 訊息協定

一 訊息協定和資料協定的定義方式相同,為類新增訊息協定特性 messagecontract 這樣我們就可以定義乙個訊息協定類了 二 示例 資料協定類 藝術品資訊 datacontract public class artinfo 創作時間 datamember public datetime cre...

WCF系列教程之WCF操作協定

一 簡介 1 在定義服務協定時,在它的操作方法上都會加上operationcontract特性,此特性屬於operationcontractattribute 類,將operationcontract應用於方法,以指示該方法實現作為服務協定 由 servicecontractattribute 屬性...