C# 定義WCF服務(wù)協(xié)定 數(shù)據(jù)協(xié)定
要給服務(wù)定義數(shù)據(jù)協(xié)定,需要把DataContractAttribute特性應(yīng)用于類定義。這個特性在名稱空間System.Runtime.Serialization名稱空間中??墒褂孟卤硭镜膶傩耘渲盟?/p>
屬性 | 說 明 |
Name | 用不同于類定義的名稱來命名數(shù)據(jù)協(xié)定,這個名稱在SOAP消息和服務(wù)元數(shù)據(jù)定義的客戶端數(shù)據(jù)對象上使用 |
Namespace | 定義數(shù)據(jù)協(xié)定在SOAP消息中使用的名稱空間 |
IsRefercnce | 影響序列化對象的方式。如果設(shè)置為mie,那么即使多次引用某個對象實(shí)例,仍然只序列化該對象實(shí)例一次,有些情況下,這可能非常重要。默認(rèn)值是false |
當(dāng)需要與己有的SOAP消息格式交互操作時,Name和Namespace屬性非常重要(其他協(xié)定的類似名稱的屬性也是同理),但在其他情況下很可能不需要使用它們。
數(shù)據(jù)協(xié)定中的每個類成員都必須使用DataMemberAttribute特性,它在名稱空間System. Runtime.Serialization中。這個特性具有下表所示的屬性。
屬 性 | 說明 |
Name | 指定序列化時數(shù)據(jù)成員的名稱(默認(rèn)為成員名稱) |
IsRequired | 指定成員是否必須顯示在SOAP消息中 |
Order | int值,指定序列化或反序列化成員的順序,如果一個成員必須在另一個成員之前出現(xiàn),這個順序就 是必需的。先處理Order較低的成員 |
EmitDe&ultValue | 將其設(shè)S為fclse時,如果成員的值是默認(rèn)值,就禁止該成員包含在SOAP消息中 |
點(diǎn)擊加載更多評論>>