0
사용자 지정 언어에서 WCF 서비스를 생성하는 타사 프레임 워크를 사용하고 있습니다. 그러나 컬렉션 클래스를 사용하는 경우,이 생성 된 출력이다WCF의 네이티브 컬렉션 이름 지정
namespace MyNameSpace
{
using System;
using System.ServiceModel;
[MessageContract]
public class FindSomethingResponse
{
[MessageBodyMember(Order=1)]
public System.Collections.Generic.List<SomethingDC> response;
}
}
이 좋지만, 상기 서비스를 소비 할 때 약간의 바람직하지 않은 결과를 야기한다. 이것은 위가 생성하는 XSD입니다 :
<FindSomethingResponse>
<ArrayOfSomethingDC>
<SomethingDC/>
<SomethingDC/>
<SomethingDC/>
...
</ArrayOfSomethingDC>
</FindSomethingResponse
"그룹 노드가"ArrayOfSomethingDC라고하지만 오히려 더 의미있는라는 것 (예 : "일도".).
내가 지금까지 발견 한 바로는 노드 이름을 지정하기 위해 CollectionDataContract 특성을 사용해야한다는 것입니다. 그러나, 나는 실제로 생성 된 클래스의 구조를 변경할 수는 없지만 (위의 방법은 제 3 자 프레임 워크에서 수행했기 때문에), 위의 메소드 만 편집 할 수 있습니다.
어떤 방식 으로든 가능합니까?
아래로 시도? – Jodrell
'IEnumerable'을 반환 해 보았습니까? 확실히 더 정확한 이름은'SomethingDCs'입니다. –
Jodrell