0

私は、WCF サービスの一部であるいくつかの Datamembers を持つ Product Datacontract を持っています。また、DataContractSerializer を使用して、この Product Datacontract をシリアル化し、アプリに保存します。

ここで、サービス メタデータ (WSDL) が生成されたときに、Product Datacontract の Datamembers の一部を削除したいと考えています。ただし、アプリ内でオブジェクトをシリアル化するときに、Product Datacontract のすべての Datamembers を使用できるようにしたいと考えています。

実際、私がやりたいことはこれです: WSDL 生成プロセスをつかみ、生成された WSDL に注入される必要な Datamembers を削除します。

ありがとうモフォロ

4

1 に答える 1

2

情報が含まれないように WSDL をハックしても役に立ちません。サービスは、型をクライアントに渡すとき、およびクライアントから型を逆シリアル化するときに、引き続き型の完全なシリアル化を使用します。WSDL と WCF をハッキングする代わりに、WCF サービスに DTO を使用します。これは、クライアントと本当に交換したいプロパティのみを含む新しい型のセットです。マスター オブジェクトを DTO に、またはその逆に変換します (独自のカスタム コンバーターを作成するか、AutoMapperなどのフレームワークを使用できます)。これがベストプラクティスです。

于 2011-12-15T21:12:34.010 に答える