問題タブ [datacontractserializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1446 参照

wcf - WCF サービスによって返されるオブジェクト階層が予想と異なる

0 投票する
1 に答える
1327 参照

c# - 基本型のコレクションをシリアル化し、読みやすいXMLで具体的な型を確認する方法

BaseTypeをサブクラス化するさまざまな具象タイプのオブジェクトが入力されたリストがあります

WCFDataContractSerializerを使用しています

これを生成する方法はありますか

本当の目標は、ユーザーがメモリにロードするXMLを生成できるようにすることであり、ユーザーは、元のXMLを要求しても成功しないスキルレベルにあります。

0 投票する
1 に答える
258 参照

c# - サードパーティの型で WCF DataContract を作成する方法はありますか?

私は wcf に移行しており、データ コントラクトを適切に宣言する方法を理解しようとしています。私がリモートしているタイプのいくつかは、私が変更できないサードパーティからのものです。wcfでデータ契約を明示的に宣言する唯一の方法は属性ですか? 3.5 の自動データ コントラクト機能については知っていますが、私が読んでいる本ではそれを思いとどまらせています。さらに、その方法はすべての状態が公開されていることを前提としていますが、多くの場合、そうではありません。

0 投票する
1 に答える
341 参照

wcf - DataContractSerializer を使用する場合の PostSharp?

クラスに INotifyPropertyChanged を実装するアスペクトがあります。この側面には、次のものが含まれます。

これは、クラスを通常どおりにインスタンス化するときには問題なく機能しますが、DataContractSerializer を使用してクラスを逆シリアル化すると問題が発生します。これは、コンストラクターをバイパスします。これは、PostSharp 自体のセットアップ方法に干渉すると推測しています。これにより、インターセプトされたプロパティ セッターで NullReferenceException が発生しますが、カスタム OnPropertySet が呼び出される前に、LocationInterceptionArgs の設定が妨げられると推測しています。

他の誰かがこの問題に遭遇しましたか? それを回避する方法はありますか?


さらに調査を行ったところ、これを行うことで問題を解決できることがわかりました。

私は、オーケー、それはそれほど悪くないと思ったので、アスペクトでこれをやろうとしました:

残念ながら、メソッドを適切にインターセプトしても機能しません。InitializeCurrentAspects の呼び出しが適切に変換されていないと考えています。これは、アスペクト拡張クラス内ではなく、アスペクト内にあるためです。アスペクトを持ちたいすべてのクラスでこれを呼び出すことを心配する必要がないように、これをきれいに自動化できる方法はありますか?

0 投票する
2 に答える
2733 参照

c# - DataContractSerializer 使用時のプロパティの初期値の設定

クラスをシリアライズし、後でデシリアライズする場合、シリアライズさDataContractSerializerれていないプロパティの初期値をどのように制御できますか?

Person以下のクラスを考えてみましょう。そのデータ コントラクトは、FirstNameおよびLastNameプロパティをシリアル化するように設定されていますが、プロパティはシリアル化されていませんIsNewIsNew新しい Person が新しいインスタンスとしてインスタンス化されているか、ファイルから逆シリアル化されているかにかかわらず、TRUE に初期化したいと考えています。

これはコンストラクターを介して簡単に実行できますが、私が理解しているようにDataContractSerializer、パラメーターが必要になる可能性があるため、コンストラクターを呼び出しません。

0 投票する
1 に答える
792 参照

f# - F#DataContractJsonSerializer StackOverflowException

50,000レコードのリストです(実際にはもっとたくさんありますが、小さなものから始めましょう)。JSONファイルにシリアル化しようとしています:

悪名高いStackOverflowExceptionが発生しています。正確には:

タイプ'System.StackOverflowException'の未処理の例外がFSharp.Core.dllで発生しました

何かアドバイス?

0 投票する
1 に答える
1360 参照

c# - DCSを使用したMessageContractのシリアル化

DataContractSerializer[MessageContract]をSOAP経由で送信したときと同じようにシリアル化する方法はありますか?

WCF呼び出しのネットワーク上に次のように表示されるクラスがあります。

p>

DCSを使用してシリアル化すると、次のようになります。

p>

この不整合は、クラスがデータコントラクトではなくメッセージコントラクトとしてマークアップされているためだと確信しています。

p>

WCFがSOAPメッセージを作成するときと同じ方法でDCSにメッセージをシリアル化させる方法はありますか?

0 投票する
2 に答える
1200 参照

silverlight - Silverlight: DataContractSerializer は読み取り専用のコレクション プロパティを処理できません

Silverlight プロジェクト (SL4) では、リスト ( IList<AnotherModel>) を含む可能性のあるモデルを使用しています。グッド プラクティスとルールCA2227:CollectionPropertiesShouldBeReadOnly によると、IListプロパティにはパブリック セッターがありません。動作している DataContractSerializer を使用してモデルをシリアル化します。しかし、デシリアライズしようとすると、DataContractSerializer のReadObject(Stream)メソッドによって SecurityException がスローされ、パブリック セッターがないためにターゲット プロパティ (プロパティを指しているIList) を設定できないと不平を言います。

は封印されており、拡張可能でも柔軟でもないため、メソッドまたはコレクション項目を転送する他の方法でforeach-loop を使用しDataContractSerializerて逆シリアル化できるような追加のルールを追加する機会は現在ありません。IListsAdd()

また、(Reflector を使用して) ソースを掘り下げてDataContractSerializer小さなフォークを作成しようとしましたが、非常に深く掘り下げる必要があり、シリアル化クラス全体を複製することは実行可能な解決策ではないようです。

を使用してパブリック セッターを使用せずにリストをシリアル化する別の機会はありDataContractSerializerますか?

あなたのアイデアを事前にどうもありがとうございました!


更新
XmlSerializer を使用して解決しました。


トーマス

0 投票する
2 に答える
997 参照

wcf - 列挙型、DataContracts、およびWCFの質問

私はWCFを初めて使用し、簡単な質問があります...

私のDataContractクラスは、公開されているメソッドの1つからコンシューマーに列挙型を返します。

コンシューマーは、列挙型を確認し、その型の変数をインスタンス化できます。

ただし、サービスの列挙型に[DataContract]も[EnumMember]も提供していません。

私の質問は、なぜクライアントはまだそれを見ることができるのですか?ビジネスオブジェクトと一緒にシリアル化するには、[DataContract]にする必要があると思いました。

0 投票する
1 に答える
8153 参照

c# - DataContractJsonSerializerをjson配列として使用してオブジェクトをシリアル化します

アイテムのリストを含むクラスがあります。DataContractJsonSerializerをjson配列として使用して、このクラスのインスタンスをjsonにシリアル化したい。例えば。

jsonにシリアル化すると、次のようになります。

[{"Name":"one","Description":"desc1"},{"Name":"two","Description":"desc2"}]