2013-05-31 2 views
0

우리는이 같은 일부 사용자 지정 컬렉션이 : 우리는 같은 객체에서 이러한를 사용사용자 정의 컬렉션 널 WCF 서비스를 통해 전달 될 때

[Serializable] 
public class OccupationCollection : Collection<Occupation> 
{ 
} 

을 다음

private OccupationCollection _occupations; 

    public OccupationCollection CurrentOccupations 
    { 
     get 
     { 
      if (this._occupations == null) 
       return new OccupationCollection(); 
      else 
       return _occupations; 
     } 
    } 

지금 우리가 전화를하고 있습니다 이러한 유형의 목록을 포함하는 개체를 전달하는 WCF 서비스 목록은 항상 서비스에서 null이됩니다.

저는 이것이 직렬화 또는 그와 유사한 작업과 관련이 있다고 확신합니다.

이 기능을 사용하려면 기존 개체를 최소한으로 변경해야하는 가장 간단한 해결책은 무엇입니까?

+0

는 사용자 정의 컬렉션에서 비 직렬화 유형이 있습니까? 'DataTable'처럼, 예를 들면? – Tim

+0

"이러한 유형의 목록을 포함하는 개체는"우리에게 이것을 보여줄 수 있습니까? – khlr

답변

0

당신은 HTTP를 통해 서비스를 호스팅 했습니까? 그렇다면 피들러를 사용하여 HTTP 트래픽을 확인하고 직렬화 된 버전의 매개 변수가 유선을 통해 전송되는지 확인할 수 있습니까? 그렇다면 서버와 클라이언트 간의 계약에서 매개 변수 불일치가있을 수 있습니다. 또한 OccupationCollection을 Serializable/DataContract 특성으로 장식 한 객체가 있습니까? DataContract 특성이있는 경우 serialize해야하는 속성이 Datamember 특성으로 표시되어 있는지 확인하십시오. 여기

자세한 내용 .. http://blog.functionalfun.net/2009/09/if-your-wcf-service-is-unexpectedly.html