[DataContract](数据契约)与[DataMember]
2013-11-27 14:06
281 查看
服务契约定义了远程访问对象和可供调用的方法,数据契约则是服务端和客户端之间要传送的自定义数据类型。
一旦声明一个类型为DataContract,那么该类型就可以被序列化在服务端和客户端之间传送,如下所示。
[DataContract]
public class UserInfo
{
//….
}
只有声明为DataContract的类型的对象可以被传送,且只有成员属性会被传递,成员方法不会被传递。WCF对声明为DataContract的类型提供更加细节的控制,可以把一个成员排除在序列化范围以外,也就是说,客户端程序不会获得被排除在外的成员的任何信息,包括定义和数据。默认情况下,所有的成员属性都被排除在外,因此需要把每一个要传送的成员声明为DataMember,如下所示。
[DataContract]
public class UserInfo
{
[DataMember]
public string UserName
{
get;
set;
}
[DataMember]
public int Age
{
get;
set;
}
[DataMember]
public string Location
{
get;
set;
}
public string Zodiac
{
get;
set;
}
}
上面这段代码把UserInfo类声明为DataContract,将UserName、Age、Location这3个属性声明为DataMember(数据成员)。Zodiac成员没有被声明为DataMember,因此在交换数据时,不会传输Zodiac的任何信息。
转自/article/7004571.html
一旦声明一个类型为DataContract,那么该类型就可以被序列化在服务端和客户端之间传送,如下所示。
[DataContract]
public class UserInfo
{
//….
}
只有声明为DataContract的类型的对象可以被传送,且只有成员属性会被传递,成员方法不会被传递。WCF对声明为DataContract的类型提供更加细节的控制,可以把一个成员排除在序列化范围以外,也就是说,客户端程序不会获得被排除在外的成员的任何信息,包括定义和数据。默认情况下,所有的成员属性都被排除在外,因此需要把每一个要传送的成员声明为DataMember,如下所示。
[DataContract]
public class UserInfo
{
[DataMember]
public string UserName
{
get;
set;
}
[DataMember]
public int Age
{
get;
set;
}
[DataMember]
public string Location
{
get;
set;
}
public string Zodiac
{
get;
set;
}
}
上面这段代码把UserInfo类声明为DataContract,将UserName、Age、Location这3个属性声明为DataMember(数据成员)。Zodiac成员没有被声明为DataMember,因此在交换数据时,不会传输Zodiac的任何信息。
转自/article/7004571.html
相关文章推荐
- 数据契约(DataContract)和DataMember
- WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)
- 数据契约(DataContract)
- WCF 数据契约(DataContract)
- 数据契约(DataContract)
- wcf 基础教程 契约 Contract 控制xml输出 数据契约DataContract序列化前身 XmlSerializer xml序列化
- 化零为整WCF(2) - 契约Contract(ServiceContract、OperationContract、DataContract、ServiceKnownType和DataMember)
- WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)
- 数据契约(DataContract)
- 数据契约(DataContract)
- WCF数据契约(DataContract)
- 数据契约[DataContract]
- 数据契约(DataContract)
- 数据契约(DataContract)里的DataMember特性
- 数据契约[DataContract]
- Silverlight Wcf 获取集合数据并绑定(DataContract,DataMember)
- 数据契约(DataContract)
- WCF 学习之数据契约(DataContract)
- Silverlight Wcf 获取集合数据并绑定(DataContract,DataMember)
- 解惑 DataContractSerializer 数据契约序列器(2)