int와 decimal과 같은 프리미티브 유형의 속성 집합과 DateTime
(물론 구조체 임)의 WCF 데이터 계약을 맺고 있습니다.WCF 데이터 계약 - 필수 값을 적용하는 최선의 방법?
동료는 모두 null 허용 가능으로 설정 한 다음 null을 확인하여 서비스 끝에 필요한 값의 유효성을 검사 할 것을 제안했습니다. 추론의 일부는 직렬화 가능 객체이므로 데이터 계약에서 생성자와 함께 필수 값을 적용 할 수 없으며 기본값에 대한 테스트의 골치 거리를 피할 수 있다는 것입니다.
그러나 고객에게 필요한 속성이 무엇인지 알 수 있도록 계약에 암시 적으로 필요한 속성도 필요합니다. 그래서 그 대신 같은 일을
, 나를 깨끗하게 서비스 종료에 널 (null)을 테스트 할 수 있도록 할
[DataMember]
public Nullable<int> AgencyID { get; set; }
, 나는 이렇게 줄은 :
[DataMember(IsRequired = true, EmitDefaultValue = true)]
public int AgencyID { get; set; }
그것은 나의 이해입니다 프로퍼티에 값이 할당되지 않았거나 기본값이 0 (원하는 동작) 인 경우 예외가 throw됩니다. 클라이언트 측에서 필수 속성을 강제 적용하는 가장 좋은 방법입니까? nullable을 모두 허용하고 대신 서비스 끝에서이를 확인하는 것의 이점이 있습니까?
귀하의 질문에 대한 100 % 이해를 얻었는지 확신 할 수 없습니다 ... 귀하의 핵심 목표는 무엇입니까? – Adil
좋아, 나는 명확하게하려고 질문을 편집했다. – lintmouse