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