3

DataContractSerializer を使用して型をシリアル化しようとしていますが、以下の例外が発生しています。これは SOA サービス用ではありませんが、可能であれば DataContractSerializer を使用したいと考えています。.Net 3.5 SP1 を使用しています。

データ コントラクト名 'DelegateSerializationHolder.DelegateEntry: http://schemas.datacontract.org/2004/07/System ' で 'System.DelegateSerializationHolder+DelegateEntry' を入力することは想定されていません。たとえば、KnownTypeAttribute 属性を使用するか、DataContractSerializer に渡される既知の型のリストにそれらを追加することにより、静的に認識されていない型を既知の型のリストに追加します。

4

2 に答える 2

4

クラス定義を投稿できますか?

デリゲート型のフィールドを持つクラスをシリアル化しようとしているようです。これにより、シリアライザーが機能しなくなると確信しています。

DataContract / DataMember属性でクラスを装飾しましたか?3.5 SP1では、これらの属性でマークされていない場合、デフォルトでクラス内のすべてのパブリックをシリアル化するシリアライザーのデフォルトの動作があります。おそらく、DataMember属性を使用してシリアル化する必要がある各プロパティを明示的にマークし、そうでないプロパティを除外する必要があります。

それ以外に、さらにヘルプが必要な場合は、クラス定義を確認する必要があります。

于 2009-05-04T21:21:27.557 に答える
1

http://blogs.microsoft.co.il/blogs/oshvartz/archive/2009/10/10/passing-event-handlers-over-wcf.aspxで説明されているエラーを回避するには、3 つの方法があります。

于 2011-09-04T03:42:47.957 に答える