今天還是按部就班的開始在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 屬性...