問題タブ [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.
wcf - .NET 基本型は WCF でシリアル化できません
WCF サービスを作成していて、サービスの構成を変更できるように、いくつかのカスタム構成要素 (Custom ConfigurationSection や ConnectionStringSettings など) を公開したいと考えています。
私のカスタム構成要素の 1 つは、System.Configuration.ConfigurationElementCollection
. WCF サービスを開始しようとすると、次のエラー メッセージが表示されます...
タイプ 'System.Configuration.ConfigurationElementCollection' をシリアル化できません。これを DataContractAttribute 属性でマークし、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークすることを検討してください。
このタイプの DataContract を実装する方法はありますか? [DataContract] 属性でマークされた継承クラスがあります。
.net - .NET XmlDocument タイプを含む WCF DataContract/ServiceOperation
WCF 通信でネットワーク経由で送信されるデータ コントラクトについて疑問に思っています。相互運用性のために、データ コントラクトの一部としてネイティブ .NET 型を送信することはお勧めできません (許可されていない可能性さえありますか?)。
ServiceOperation
への入力として.NETXmlDocument
タイプを受け入れるサービスが必要です。タイプ(DataContract
属性でマークされる)を保持するラッパークラス(属性でマークされる)を作成し、これをパラメーターとして使用する場合、これは合法/可能ですか?XmlDocument
DataMember
ServiceOperation
XmlDocument
タイプの利便性を維持しながら、相互運用性を確保するにはどうすればよいですか? string
のパラメーターとしてa を受け入れてから、サービス側でメソッドを使用してServiceOperation
an をインスタンス化する方が良い設計上の選択ではないでしょうか?XmlDocument
XmlDocument.LoadXml(string)
ヘルプ/ビュー/コメントをお待ちしております。wcf を使い始めたばかりなので、最初にサービスの作成に飛び込む前に、頭の中の混乱を解消したいと思います。
ありがとう!
wcf - カスタムデータコントラクト/データメンバー名
次の問題があります。顧客が、次の形式でデータを返すWebサービスを要求しました。
ただし、エラーが発生すると、次のメッセージが表示されます。
WCFを使用してWebサービスを作成し、要件を満たすために、次のサービス契約を定義しました。
また、次の基本クラスを定義しました。
そして、2つの派生クラス:
と:
問題は、Webサービスからデータをプルするときに、データコントラクト名(「ステータス」)とデータメンバーの名前が無視され、タイプとプロパティの名前が使用されることです。
顧客名を使用することは可能ですか?
wcf - WCF - [DataMember] リストに追加されたサブクラス例外を引き起こす
[DataContract] クラスの 1 つに、リストである [DataMember] が含まれています。BaseClass にはいくつかの異なるサブクラスがあります。
そのリストにサブクラスのインスタンスが含まれている場合は常に、サービスがリクエスト チャネルに戻っている間/後に例外が発生します。リストにサブクラスが含まれていない場合は、正常に機能します。
これが私のコードの例です(それ自体は機能しません):
デバッグ時に次のエラーが発生します。
ソケット接続が中止されました。これは、メッセージの処理中にエラーが発生したか、リモート ホストが受信タイムアウトを超過したか、基になるネットワーク リソースの問題が原因である可能性があります。ローカル ソケットのタイムアウトは「00:00:59.6560000」でした。
この問題を解決する方法を知っている人はいますか (サブクラスを処理するようにする)?
serialization - DataMemberをDataContractの別の名前空間に追加する
Iを使用XmlSerializer
すると、親タイプとは異なる名前空間にメンバーを含めることができます。
同じことをすることはできますDataContractSerializer
か?
次のXMLが欲しいです:
これはで可能DataContractSerializer
ですか?
wcf - WCF DataMember シリアル化に関する質問
わかりました、ネットワーク経由でモデルを送信するための DTO を作成するという、長く曲がりくねったプロセスの途中でしたが、正しいルートをたどっているとは思えません。
私の問題は、私のモデルのエンティティのほとんどが、とにかく DTO にすぎないということです。私は基本的に貧血ドメイン モデルを持っています。これは問題ありませんが、これらのエンティティの DTO をモデル化する必要があるかどうかも疑問に思います。
私の最初の質問は、エンティティをシリアル化し、これらをネットワーク経由で渡すだけで、どのような問題が発生する可能性があるかということです。
次に、より具体的な質問には、次のようなプロパティ シグネチャが与えられます。
シリアル化されたユニット オブジェクトではなく、UnitId を送信することは可能ですか?
編集:申し訳ありませんが、私の質問で十分に明確ではありませんでした。皆さんが投稿したように、ユニットの Id プロパティのみを指定できることはわかっていますが、これはうまくいきません。
その理由は、このプロパティ (上記) が「Country」クラスにあり、「CountryService.GetCountry(Id)」または類似の呼び出しを行ったときにのみ UnitID を返す必要があるためです。しかし、流れるサービス呼び出し "UnitService.GetUnit(Id)" では、より多くのプロパティをシリアル化してネットワーク経由で送信する必要があります。これが理にかなっていることを願っています。
ありがとう、クリス。
.net - WCF:設定なしで読み取り専用のDataMemberプロパティを公開していますか?
[DataContract] を介してクライアント側で利用できるようにするサーバー側クラスがあります。このクラスには、プロパティを通じて利用できるようにしたい読み取り専用フィールドがあります。ただし、get と set の両方を使用せずに [DataMember] プロパティを追加することは許可されていないように見えるため、そうすることができません。
だから - セッターなしで [DataMember] プロパティを持つ方法はありますか?
または、ソリューションは [DataMember] をフィールドとして使用しますか? (たとえば、ここに示されているように)? これもやってみましたが、フィールドが読み取り専用であることを気にしていないようです..?
編集:このようにハッキングして読み取り専用プロパティを作成する唯一の方法はありますか? (いや、やりたくない…)
wcf - WCF Read DataMember Name 属性
personという非常に単純なクラスがあります。
シリアライズまたはデシリアライズしようとすると、すべてうまくいきます。XML には「MyName」というタグがあり、オブジェクトには VS Intellisense で Name というプロパティがあります。
ここで必要なのは、オブジェクトからシリアル化されたプロパティの名前にアクセスすることです。
たとえば、私はできますobject.GetType().GetProperty("Name");
が、私がやろうとするobject.GetType().GetProperty("MyName")
と、リフレクションはプロパティが存在しないと言います. プロパティのシリアル化された名前を読み取るにはどうすればよいですか? 方法はありますか?
xml - .Net xsdなしのクラスでxmlを表現
このようなものをどのように表現しますか
私のWCFサービスで使用するには?「名前」のみが異なる複数の属性を定義する方法がわかりません。
これを DataMember として適切にセットアップする必要があるため、xml はそれに逆シリアル化されます。
sku は次のようになります。
両方の属性に何を使用しますか?
.net-3.5 - NetDataContractSerializer による選択的シリアル化
このクラスのシリアル化は正常に機能します。ただし、フィールドを除外したい場合もあります。これは可能ですか?
フィールドを一時的に null に設定することはできません。