2
当你创建一个WCF服务序列化数据VS VS合同什么都在WCF服务
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
当我使用DataContract一切正常,我将使用给出的入门实例。
当我使用Serializable时,实际的变量,无论是私有的还是公共的,都可以通过主机而不是属性来实现。如果我使用NonSerialized,它会隐藏变量,但它也不会传递。我明白了,我想我明白为什么这些属性没有通过,因为没有什么可以序列化的?那是对的吗?
[Serializable]
public class CompositeType
{
[NonSerialized]
bool boolValue = true;
[NonSerialized]
string stringValue = "Hello ";
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
如果我没有提供任何属性,类将按预期方式返回,而这我不明白?
我负责接收现有的业务对象并通过WCF与他们合作?看起来像我最好的选择是让他们独自一人,而不是添加DataContract属性。这是为什么?
很好的答案!但是,迈克,你不应该尝试没有DataContract,因为它是面向WCF服务的。 ;) – maxbeaudoin 2010-06-22 20:28:07