私はWCFと私は今日に直面しています挑戦の一つを学んでいます。この設計を実装することです私は私の「欠陥のある」サービスへの参照を作成しようとしています。しかし、結果インジケータに使用される値オブジェクトに読み取り専用フィールドパターンを実装する方法はありますか?WCF、シリアライズ、読み取り専用メンバー
2
A
答えて
1
WCFを使用する場合、値オブジェクトはありません。すべてのオブジェクトはシリアル化可能でなければなりません。パラメータのないコンストラクタを持つ必要があります(コメントにマークが付いているため、DataContractSerializer
では不要です)。すべてのシリアル化されたフィールドは書き込み可能でなければなりません。シリアライズ可能でないオブジェクトを送信する場合は、IDataContractSurrogateを実装するか、独自のデータ転送オブジェクト(DTO)を実装するだけです。
3
これは、サービスがクラスではなくスキーマと契約を共有するためです。
[DataMember]
public DefinedResults DRes
{
get { return this.dres; }
private set { /* NOOP */ }
}
+0
夜遅くなるので、すでに疲れているかもしれませんが、この解決策のポイントはわかりません。それは巧妙な解決策ですが、これはどのように全体を解決するのに役立ちますか?はい、サーバー側で値オブジェクトを取得しますが、サービス参照としてプロキシを作成すると、public getおよびsetで新しいオブジェクトが生成されます。プロパティが決して設定されないので、クライアント上で同じ型を再利用することはできません。だから私はそれを理解すると、それはサーバー上のバリューオブジェクトのジレンマを解決するが、クライアントはその値を変更することができないか、値を取得できなくなる。 –
関連する問題
- 1. 読み取り専用メンバーデータをシリアライズ
- 2. 読み取り専用自動対(読み取り専用)プロパティ
- 3. C#クラスと読み取り専用のメンバー
- 4. powershellで読み取り専用メンバーを作成するには?
- 5. CurrentCulture.DateTimeFormat.LongTimePattern読み取り専用
- 6. 読み取り専用アソシエーション
- 7. 読み取り専用テキストボックス
- 8. 読み取り専用プロパティ
- 9. 読み取り専用プロパティのWCF DataContractシリアル化?
- 10. DataGridView読み取り専用セル
- 11. CVS読み取り専用チェックアウト
- 12. 読み取り専用DBアクセスのトランザクション?
- 13. WPF:読み取り専用TextBoxとバインディング
- 14. は、Delphi ClientDataSetの読み取り専用
- 15. 形式symfony2読み取り専用
- 16. ComboBoxの読み取り専用アイテム
- 17. 読み取り専用ASPドロップダウンリスト
- 18. 読み取り専用コンボボックスですか?
- 19. SharePointデータシートビューの読み取り専用カスタムフィールド
- 20. テーブル値パラメータ読み取り専用ワークワーカー
- 21. C#WPFの読み取り専用チェックボックス
- 22. Googleのフォームは、読み取り専用
- 23. Hibernateの読み取り専用コレクション・マッピング
- 24. 読み取り専用戦略
- 25. Subversionリポジトリの読み取り専用アクセス
- 26. 読み取り専用データセットフィールドを
- 27. Android - 読み取り専用ファイルシステムIOException
- 28. XAML読み取り専用のComboBox
- 29. 読み取り専用リストのC#
- 30. yoctoの読み取り専用ファイルシステム
を実際に、DataContractSerializerのために、クラスは** **見る....(それが唯一のXmlSerializerのためです)任意のパラメータなしのコンストラクタを必要としない:
は、あなたがやってそれをハック可能性、と述べましたhttp://www.danrigsby.com/blog/index.php/2008/03/07/xmlserializer-vs-datacontract-serializer-serialization-in-wcf/説明のため –
@marc:ありがとう、私はそれについて知りませんでしたが記事を読むことで意味があります。 –