2011-12-31 1 views
5

저는 wcf 프로젝트에서 일하고 있습니다. 일부 서비스는 순환 참조를 포함하는 객체를 반환합니다. 이러한 개체의 serialization은 DataContract 특성에서 IsReference를 true로 설정하여 처리되므로 이러한 서비스를 호출하는 코드를 작성하면 모든 것이 잘 작동합니다. 그러나 간단한 테스트를 위해 GUI 인터페이스 인 WcfTestClient.exe를 사용하는 것이 나에게 바람직하며 WcfTestClient가 순환 참조 된 개체를 표시하지 못하는 것으로 나타났습니다.WcfTestClient.exe는 순환 참조를 처리 할 수 ​​없습니다?

서로에 대한 참조가 들어있는 객체를 표시하려고하면 아무 것도 처리되지 않으면 무한 재귀가 발생합니다. WcfTestClient를 통해 순환 참조 된 객체를 반환하는 서비스를 테스트하는 것은 불가능하다는 것을 알고 있습니까? 감사.

+5

고객님의 클라이언트로 테스트 –

답변

0

안녕하세요, 나는이 순환 참조를 처리 할 수없는 WCF 테스트 클라이언트에서도 같은 문제가있었습니다. IsReference = true. 'System.StackOverflowException'형식의 처리되지 않은 예외가 mscorlib.dll에서 발생했습니다. WCFTestClient.exe에서 오류가 발생하지만 WCF 서비스에서는 오류가 발생하지 않으므로 Visual Studio에서 Disassembly로 떨어지는 이유가 stackoverflow 오류입니다. 요점은 WCFTestClient가 Visual Studio 오브젝트 트리와 같은 순환 참조를 기대하거나 기대하지 않는다는 것입니다. 당신이 이해하기를 바랍니다. 좋은 질문 어쨌든 ... :)