ExceptionsJSONService라는 WCF 서비스가 있습니다. 내 솔루션에 정의 된 다른 모든 서비스와 달리 어떤 이유로 든 자바 스크립트에서 클라이언트 측을 인스턴스화 할 수 없습니다.엔티티 프레임 워크 직렬화 오류로 인해 wcf 서비스가 작동하지 않습니다.
이 실패 예상 객체와
var service = new ExceptionsJSONService();
. 나는 왜 이런 일이 일어나고 프로젝트 전반에 걸쳐 나의 모든 정의를 확인하려고 노력하고 있었고 모든 것이 잘 보였으며 내가 정의한 다른 모든 서비스 (모든 것이 작동 함)와 일치합니다.
그런 다음 svclog 파일을 검사하고 오류를 발견했습니다. 예외의 종류 :
System.Runtime.Serialization.InvalidDataContractException, 들은 System.Runtime.Serialization 버전 4.0.0.0 = 문화 = 중성, 예외 메시지
이다 PublicKeyToken = b77a5c561934e089 :
유형 'System.Data.Entity.DbSet`1는 [CCMModel.AttachmentDoc는]' 직렬화 할 수 없습니다. DataContractAttribute 특성으로 표시하고 DataMemberAttribute 특성을 사용하여 직렬화하려는 모든 구성원을 표시하는 것이 좋습니다. 형식이 컬렉션 인 경우 을 CollectionDataContractAttribute로 표시합니다. 지원되는 다른 유형에 대해서는 Microsoft .NET Framework 설명서를 참조하십시오.
CCMModel은 네임 스페이스이고 AttachmentDoc은 내 엔터티 중 하나입니다. 이 문제는 AttachmentDoc과 관련이 없습니다. 알파벳순으로 엔티티 목록을 살펴 보겠습니다. 엔티티의 이름을 Attachments에서 RAttachments로 변경했고 AttachmentDoc으로 예외를 던졌습니다.
내 코드에서 아무 EF 엔티티도 직렬화하려고하지 않습니다. 직렬화하는 모든 클래스에는 DataContracts가 있습니다. 두 가지가 관련 있다고 생각하는 이유는 오픈 ServiceHost 'ExceptionsJSONService'가 svclog에 나타나는 바로 뒤에 예외가 발생하기 때문입니다.
누구나 전에이 문제가 발생 했습니까?