2011-05-09 10 views
0

私は私のwcfサービスに渡す強く型付けされたデータテーブルを持つ強く型付けされたデータセットを持っています。私はxsdにないこのテーブルの余分な列ランタイムを追加しました。余分な列を持つ強く型付けされたデータセットをシリアライズ

サーバー側でデバッグすると、wcf操作でデータセットとデータテーブルが受信されますが、余分な列とその値はもうその一部ではありません。

データセットのシリアル化と関係がありますが、列を強く入力しなくてもこの問題を解決するにはどうすればよいですか?予め

おかげ

+0

それはできません – Martin

答えて

1

シリアライズはXMLおよびデシリアライゼーションにメモリ内のいくつかのオブジェクトを変換するプロセスであるXMLを取得し、オブジェクトに戻ってそれを回します。このオブジェクトの構造は、厳密に型指定されたデータセットによって指示されます。

クライアントサイドのオブジェクトに新しいものを追加しましたが、サーバ側で何をすべきかを教えていないので、XMLを逆シリアル化すると余分なものが取り除かれます。

追加データを強く入力したくないので、型指定されたデータテーブル(foo)から新しいクラス(bar)を派生させ、その要素を追加してシリアライズ可能にした後、サーバーデシリアライズするときは、派生クラスにデシリアライズします。派生したクラスバーは定義がfooであるため、データセットはデータ操作のためにそれを受け入れる必要がありますが、新しい要素をbarとして扱うことはできます。

関連する問題