C# 定义WCF服务协定 数据协定
要给服务定义数据协定,需要把DataContractAttribute特性应用于类定义。这个特性在名称空间System.Runtime.Serialization名称空间中。可使用下表所示的属性配置它。
属性 | 说 明 |
Name | 用不同于类定义的名称来命名数据协定,这个名称在SOAP消息和服务元数据定义的客户端数据对象上使用 |
Namespace | 定义数据协定在SOAP消息中使用的名称空间 |
IsRefercnce | 影响序列化对象的方式。如果设置为mie,那么即使多次引用某个对象实例,仍然只序列化该对象实例一次,有些情况下,这可能非常重要。默认值是false |
当需要与己有的SOAP消息格式交互操作时,Name和Namespace属性非常重要(其他协定的类似名称的属性也是同理),但在其他情况下很可能不需要使用它们。
数据协定中的每个类成员都必须使用DataMemberAttribute特性,它在名称空间System. Runtime.Serialization中。这个特性具有下表所示的属性。
属 性 | 说明 |
Name | 指定序列化时数据成员的名称(默认为成员名称) |
IsRequired | 指定成员是否必须显示在SOAP消息中 |
Order | int值,指定序列化或反序列化成员的顺序,如果一个成员必须在另一个成员之前出现,这个顺序就 是必需的。先处理Order较低的成员 |
EmitDe&ultValue | 将其设S为fclse时,如果成员的值是默认值,就禁止该成员包含在SOAP消息中 |
点击加载更多评论>>