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