"DataContract"및 "Serializable"속성이있는 클래스가 있습니다. 이 클래스는 서비스에서 사용되고 있습니다. 이 서비스는 프로젝트에서 사용 중입니다. VS의 "서비스 참조 추가"기능을 사용하여 프로젝트의 서비스 참조를 추가했습니다 (참조 - 추가 참조 정보를 마우스 오른쪽 단추로 클릭). 서비스 참조를 추가 할 때마다 서비스 참조의 Reference.cs 파일에 클래스의 중복 속성이 만들어지며, 1은 "DataMember"속성과 "Serializable"속성으로 구성됩니다. 이로 인해 빌드 오류가 발생했습니다. Serializable 특성을 넣지 않으면 "DataMember"특성을 가진 클래스의 속성 집합 1 개만 있으면 서비스 참조가 올바르게 작동합니다."DataContract"및 "Serializable"속성을 가진 클래스에 대해 만들어진 중복 속성
왜 이런 일이 발생하며이를 피하기 위해 무엇을 할 수 있습니까? 클래스에 두 속성이 모두 필요합니다. 즉, 속성을 제거 할 수 없습니다.
WCF 서비스에서 사용할 수 있도록 "Serializable"특성을 사용하여 개체의 심층 복제를 만들고 "DataContract"특성이 필요합니다. "DataContract"특성을 제거 할 수있는 방법을 제안 해 주시겠습니까? 내가 아는 한 "DataContract"특성이없는 클래스를 사용하여 WCF 서비스에서 데이터를 전송할 수 없습니다. – samar
저는 여기서 제 동료들과 토론을했으며, "Serializable"속성을 유지하면 성능이 저하되고 웹 서비스만큼 좋게 될 것이라고 말하고 있습니다. 또한 몇 가지 유형의 직렬화 속성이 없다는 문제가 있습니다. 또한 속성의 "DataMember"속성은 클래스의 "Serializable"속성과 함께 작동하지 않습니다. 또한 속성을 "Serializable"로 표시해야합니다. 이게 다 맞니? – samar