의 경우 Nothing 대 나는를 DataContract 모든 것이 괜찮 사용할 때 당신은 WCF 서비스직렬화 데이터 계약 대 전혀 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; }
}
}
을 만들 때 나는 주어진 스타터 예를 사용합니다.
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 특성을 추가하는 대신 이들을 그대로 두는 것입니다. 왜 그런가요?
대단한 답변입니다! 그러나 Mike, DataContract가 없으면 WCF 서비스 지향적으로 처리하지 않아야합니다. ;) – maxbeaudoin