2010-08-12 5 views
0

Visual Studio에서 기본 "서비스 참조 추가"메뉴 옵션을 사용할 때 WCF 클라이언트 측 인터페이스 유형에서 생성되는 컬렉션 클래스 유형의 유형을 사용자 정의하거나 제어 할 수있는 방법이 있습니까?WCF 추가 서비스 참조 동작 사용자 지정?

우리의 WCF 서비스는 자동 때 개체의 컬렉션을 포함하는 모든 서버 측 유형에 대한 데이터 세트를 생성, 실행 "서비스 참조 추가하지 ...."그리고 이것은

의 원인이되는 "아무 대응하는 등이다 시작 요소가 열려 있습니다. "

오류 메시지.

우리 busienss 파트너에게 작동하는 WCF 클라이언트를 만드는 방법을 알려주고이를 수행하기 위해 관련 컬렉션 유형이 List 또는 배열 인 클라이언트를 만드는 방법을 알려줘야한다고 생각합니다. 데이터 세트가 아닌 객체로 구성됩니다.

편집 :

내 유형 IXmlSerializable을 구현 DoubleSchedule라는 사용자 지정 형식에 있고, 다음 중 하나 같이 직렬화됩니다 :
<DataELementName firstIntervalId="87656" schedule="77.3|77.3|76.9|77" />
또는
<OtherDataELementName firstIntervalId="87656" lastIntervalId="87670" value="76.1" />

경우에도 I Add Service Reference 대화 상자의 Advanced 탭에서 Collection 유형을 지정하면이 유형을 사용하는 모든 Xml Elements가 DataSet을 기반으로 생성 된 유형을 얻게됩니다.

아이디어가 있으십니까?

답변

1

귀하의 문제는 수집 유형에 대해 것 같다,하지만 DataContractSerializer에 대해하지 않습니다. 클래스에 XmlSchemaProvider 특성을 적용하는 것을 잊은 경우 DataContractSerialzer는 레거시 DataSet 개체를 serialize하려는 것으로 가정합니다.

나는 사용자가이를 시도하지 않으므로 리턴 된 DataSet이 null입니다. 시작 요소 오류가 발생한 부분이 그럴 가능성이 큽니다.

는 참조 http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlschemaproviderattribute.aspx

편집 :

또한 http://msdn.microsoft.com/en-us/library/aa347876.aspx

관련 문제