this thread에 지정된 문제와 유사한 WCF RIA 서비스에 몇 가지 문제가 있습니다.Ria Services 쿼리 도메인 서비스 메서드에 매개 변수로 복잡한 개체 전달
내가 만들고있는 도메인 서비스 메서드 (Query 메서드)는 복합 개체 매개 변수를 사용해야합니다. 예를 들어 domainservice 방법 :
public ComplexObjectResult GetComplexObject(ComplexObjectParameter test)
{
//do stuff
}
매개 변수 개체 : 70 매개 변수 도메인 작업 항목 'GetComplexObject'의 '테스트'미리 정의 된 직렬화 중 하나 여야합니다 오류 :이 컴파일 오류가
public class ComplexObjectParameter
{
[Key]
public decimal ID { get; set; }
... other fields
}
종류는입니다.
웹에서 일부 검색 후 this msdn thread을 찾았습니다. 이는 RIA 서비스의 한계이며 스레드가 적절한 해결 방법을 지정하지 않는다고 명시합니다.
지금 어떤 더러운 해결 방법이있을 것 같다 :
변경 복잡한 매개 변수는 문자열을 입력하고 직렬화는/I가 매우 해키 솔루션을 찾을 parameterobject 해결할 역 직렬화.
도메인 서비스 방법에 [Invoke] 태그를 사용하고 처음부터 RIA를 사용하고있는 모든 RIA 추적 기능을 해제하십시오.
단점이 적은 대안을위한 대안이 있습니까? 누군가이 문제에 대한보다 우아한 해결 방법을 찾았습니까?
감사
두 번째 옵션 인 Stephane을 사용했습니다. 반환 된 복잡한 유형은 클라이언트에서만 읽기 전용 이었기 때문에 추적 기능의 손실이 문제가되지 않았습니다. 다음 번에는 잠재적 인 솔루션 (심지어 더러운 것까지)을 답변으로 고려해보십시오 ... 그러면 질문과 답변 모두에 투표했을 것입니다! –