2011-12-02 7 views
0

ちょっと助けが必要です。WCFサービスからクライアントにカスタムオブジェクトを渡す

私はカスタムオブジェクトのリストを通過するWCFサービスを書いています(これらのオブジェクトはシリアライズ可能とマークされているため、細かく通過します)。

これらのオブジェクトを受信するには、クライアントに何を書き込む必要がありますか?クラスの定義をローカルに持たずに受け取れるようにしたいと思います。私はオブジェクトとしてそれらを取得しようとしたが、私はエラー

が暗黙のうちに「System.Collections.Generic.List <オブジェクト>」「にSystem.Collections.Generic.List < TestService.Member>」タイプを変換できません取得

これが十分な情報であれば、どんなポインタでも便利です。

+1

:svcmapについては

[CollectionDataContract] public class MemberCollection: List<Member> 

?サービス参照を簡単に更新できるはずです。プロキシクラスが作成されます。 – Amy

+0

簡単に [OperationContract] リスト GetAllMembers(); – Coesy

答えて

0

私はあなたが物事のカップル行う必要があると思う:System.Collections.Generic.List

2から継承し、このコレクションクラスのカスタムクラスを作成します)

1)で、この新しいクラスを飾りますCollectionDataContract

3)クライアントで、reference.svcmapを編集し、この新しい項目のエントリをCollectionMappingsセクションに追加します。 svcmapを見つけるには、プロジェクト内のすべてのファイルを表示し、WCFサービス参照を展開します。

クラスについては

:あなたのWCFインターフェイスがどのように見えるん何

<CollectionMapping TypeName="MyNameSpace.MemberCollection" Category="List" /> 
+0

私はこれを行うと、クライアントは何を見ますか? – Coesy

+0

メンバクラスとコレクションのソースコードをクライアントプロジェクトにリンクすることができ、クライアントプロジェクトはビジネスロジックまたは非シリアル化メンバーをWCFに再追加することなく、これらのクラスの完全な機能を使用できるようになります。生成されたクラス。 –