문제

한동안이 문제를 해결해 왔는데 왜 구성을 사용하여 알려진 유형에 대한 참조를 추가 할 수 있는지 또는 디버깅 방법을 알 수 없습니다.어떤 포인터라도 내 정신을 구할 수 있습니다.

Windows 서비스에서 호스팅되는 WCF 서비스가 있고 서비스에 대한 구성 파일이 있습니다.구성에는 다음이 있습니다. 라코 디스

두 선언 모두에 Version=1.0.0.0,Culture=neutral,PublicKeyToken=null를 추가하려고했지만 데이터 계약 직렬 변환기가이를 선택하도록 만들 수없는 것 같습니다.

이 클래스가 반환 될 수 있고 ([ServiceKnownType(typeof(My.Implementation.Class))]를 추가하여) 작동하는지 확인했지만 추가하면 순환 참조를 생성하는 anothet 어셈블리에 사용하려는 또 다른 구현이 있습니다.사용하지 마세요.

데이터 계약 시리얼 라이저가 내 유형을 찾지 못하는 이유를 디버깅하려면 어떻게해야합니까?아니면 내 선언에 어떤 문제가 있습니까?

도움이 되었습니까?

해결책 2

그래서 내 문제는 내 기본 유형이 interafce이고 KnownType 속성이 클래스에만 적용될 수 있기 때문에 작동하지 않는 것 같습니다.

이 답변 라코 디스

서비스 인터페이스에서 다음 유형을 제공하는 클래스와 메소드를 제공합니다. 라코 디스

다른 어셈블리에있는 형식의 확인도 허용했습니다.이것이 작동하는 동안 그것은 훌륭하지 않으므로 아마도이 대답 하거나 내 클래스에 soem 속성을 추가하고이를 사용하여 알려진 유형을 식별합니다.

다른 팁

Windows 서비스를 디버깅하는 방법을 찾고 있다면 서비스 시작시 System.Diagnostics.Debugger.Break(); 줄을 추가해보세요.직렬화 인프라가 dataContractSerializer를 선택하지 않는 이유를 알 수있을만큼 충분히 이른 지 모르겠습니다.

게시 한 <system.runtime.serialization> 요소에 오류가 없습니다.의미 오류에 대해 나머지 exe.config 파일을 조사 했습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top