問題タブ [datamember]

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 投票する
2 に答える
11273 参照

wcf - .NET 基本型は WCF でシリアル化できません

WCF サービスを作成していて、サービスの構成を変更できるように、いくつかのカスタム構成要素 (Custom ConfigurationSection や ConnectionStringSettings など) を公開したいと考えています。

私のカスタム構成要素の 1 つは、System.Configuration.ConfigurationElementCollection. WCF サービスを開始しようとすると、次のエラー メッセージが表示されます...

タイプ 'System.Configuration.ConfigurationElementCollection' をシリアル化できません。これを DataContractAttribute 属性でマークし、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークすることを検討してください。

このタイプの DataContract を実装する方法はありますか? [DataContract] 属性でマークされた継承クラスがあります。

0 投票する
5 に答える
5439 参照

.net - .NET XmlDocument タイプを含む WCF DataContract/ServiceOperation

WCF 通信でネットワーク経由で送信されるデータ コントラクトについて疑問に思っています。相互運用性のために、データ コントラクトの一部としてネイティブ .NET 型を送信することはお勧めできません (許可されていない可能性さえありますか?)。

ServiceOperationへの入力として.NETXmlDocumentタイプを受け入れるサービスが必要です。タイプ(DataContract属性でマークされる)を保持するラッパークラス(属性でマークされる)を作成し、これをパラメーターとして使用する場合、これは合法/可能ですか?XmlDocumentDataMemberServiceOperation

XmlDocumentタイプの利便性を維持しながら、相互運用性を確保するにはどうすればよいですか? stringのパラメーターとしてa を受け入れてから、サービス側でメソッドを使用してServiceOperationan をインスタンス化する方が良い設計上の選択ではないでしょうか?XmlDocumentXmlDocument.LoadXml(string)

ヘルプ/ビュー/コメントをお待ちしております。wcf を使い始めたばかりなので、最初にサービスの作成に飛び込む前に、頭の中の混乱を解消したいと思います。

ありがとう!

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

wcf - カスタムデータコントラクト/データメンバー名

次の問題があります。顧客が、次の形式でデータを返すWebサービスを要求しました。

ただし、エラーが発生すると、次のメッセージが表示されます。

WCFを使用してWebサービスを作成し、要件を満たすために、次のサービス契約を定義しました。

また、次の基本クラスを定義しました。

そして、2つの派生クラス:

と:

問題は、Webサービスからデータをプルするときに、データコントラクト名(「ステータス」)とデータメンバーの名前が無視され、タイプとプロパティの名前が使用されることです。

顧客名を使用することは可能ですか?

0 投票する
3 に答える
5024 参照

wcf - WCF - [DataMember] リストに追加されたサブクラス例外を引き起こす

[DataContract] クラスの 1 つに、リストである [DataMember] が含まれています。BaseClass にはいくつかの異なるサブクラスがあります。

そのリストにサブクラスのインスタンスが含まれている場合は常に、サービスがリクエスト チャネルに戻っている間/後に例外が発生します。リストにサブクラスが含まれていない場合は、正常に機能します。

これが私のコードの例です(それ自体は機能しません):

デバッグ時に次のエラーが発生します。

ソケット接続が中止されました。これは、メッセージの処理中にエラーが発生したか、リモート ホストが受信タイムアウトを超過したか、基になるネットワーク リソースの問題が原因である可能性があります。ローカル ソケットのタイムアウトは「00:00:59.6560000」でした。

この問題を解決する方法を知っている人はいますか (サブクラスを処理するようにする)?

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

serialization - DataMemberをDataContractの別の名前空間に追加する

Iを使用XmlSerializerすると、親タイプとは異なる名前空間にメンバーを含めることができます。

同じことをすることはできますDataContractSerializerか?

次のXMLが欲しいです:

これはで可能DataContractSerializerですか?

0 投票する
3 に答える
1645 参照

wcf - WCF DataMember シリアル化に関する質問

わかりました、ネットワーク経由でモデルを送信するための DTO を作成するという、長く曲がりくねったプロセスの途中でしたが、正しいルートをたどっているとは思えません。

私の問題は、私のモデルのエンティティのほとんどが、とにかく DTO にすぎないということです。私は基本的に貧血ドメイン モデルを持っています。これは問題ありませんが、これらのエンティティの DTO をモデル化する必要があるかどうかも疑問に思います。

私の最初の質問は、エンティティをシリアル化し、これらをネットワーク経由で渡すだけで、どのような問題が発生する可能性があるかということです。

次に、より具体的な質問には、次のようなプロパティ シグネチャが与えられます。

シリアル化されたユニット オブジェクトではなく、UnitId を送信することは可能ですか?

編集:申し訳ありませんが、私の質問で十分に明確ではありませんでした。皆さんが投稿したように、ユニットの Id プロパティのみを指定できることはわかっていますが、これはうまくいきません。

その理由は、このプロパティ (上記) が「Country」クラスにあり、「CountryService.GetCountry(Id)」または類似の呼び出しを行ったときにのみ UnitID を返す必要があるためです。しかし、流れるサービス呼び出し "UnitService.GetUnit(Id)" では、より多くのプロパティをシリアル化してネットワーク経由で送信する必要があります。これが理にかなっていることを願っています。

ありがとう、クリス。

0 投票する
5 に答える
38466 参照

.net - WCF:設定なしで読み取り専用のDataMemberプロパティを公開していますか?

[DataContract] を介してクライアント側で利用できるようにするサーバー側クラスがあります。このクラスには、プロパティを通じて利用できるようにしたい読み取り専用フィールドがあります。ただし、get と set の両方を使用せずに [DataMember] プロパティを追加することは許可されていないように見えるため、そうすることができません。

だから - セッターなしで [DataMember] プロパティを持つ方法はありますか?

または、ソリューションは [DataMember] をフィールドとして使用しますか? (たとえば、ここに示されているように)? これもやってみましたが、フィールドが読み取り専用であることを気にしていないようです..?

編集:このようにハッキングして読み取り専用プロパティを作成する唯一の方法はありますか? (いや、やりたくない…)

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

wcf - WCF Read DataMember Name 属性

personという非常に単純なクラスがあります。

シリアライズまたはデシリアライズしようとすると、すべてうまくいきます。XML には「MyName」というタグがあり、オブジェクトには VS Intellisense で Name というプロパティがあります。

ここで必要なのは、オブジェクトからシリアル化されたプロパティの名前にアクセスすることです。

たとえば、私はできますobject.GetType().GetProperty("Name");が、私がやろうとするobject.GetType().GetProperty("MyName")と、リフレクションはプロパティが存在しないと言います. プロパティのシリアル化された名前を読み取るにはどうすればよいですか? 方法はありますか?

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

xml - .Net xsdなしのクラスでxmlを表現

このようなものをどのように表現しますか

私のWCFサービスで使用するには?「名前」のみが異なる複数の属性を定義する方法がわかりません。

これを DataMember として適切にセットアップする必要があるため、xml はそれに逆シリアル化されます。

sku は次のようになります。

両方の属性に何を使用しますか?

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

.net-3.5 - NetDataContractSerializer による選択的シリアル化

このクラスのシリアル化は正常に機能します。ただし、フィールドを除外したい場合もあります。これは可能ですか?

フィールドを一時的に null に設定することはできません。