私は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. C#クラスと読み取り専用のメンバー
- 6. CurrentCulture.DateTimeFormat.LongTimePattern読み取り専用
- 7. 読み取り専用プロパティ
- 8. 読み取り専用プロパティ
- 9. 読み取り専用テキストボックス
- 10. 読み取り専用
- 11. 読み取り専用アソシエーション
- 12. 読み取り専用TFS
- 13. は読み取り専用
- 14. WCFの共有読み取り専用データ - InstanceContextModeの選択
- 15. 読み取り専用プロパティのWCF DataContractシリアル化?
- 16. 読み取り専用トランザクション - タイムスタンプバウンドの読み取りのパフォーマンス
- 17. pythonマルチスレッドは、読み取り専用メモリバッファバイパスを読み取るGIL
- 18. mysqlの読み取り専用テーブル
- 19. 形式symfony2読み取り専用
- 20. 読み取り専用C#6.0
- 21. ComboBoxの読み取り専用アイテム
- 22. java.io.FileNotFoundException:output.mp4(読み取り専用ファイルシステム)
- 23. CVS読み取り専用チェックアウト
- 24. Flash Builderの読み取り専用リッチテキストフィールド?
- 25. 読み取り専用データセットフィールドを
- 26. zabbixモニター(読み取り専用)fs
- 27. Linq2DBの読み取り専用列
- 28. C++ ifstream読み取り専用ワード数
- 29. 「読み取り専用」JSLintエラー
- 30. フラスコ管理読み取り専用コレクション
を実際に、DataContractSerializerのために、クラスは** **見る....(それが唯一のXmlSerializerのためです)任意のパラメータなしのコンストラクタを必要としない:
は、あなたがやってそれをハック可能性、と述べましたhttp://www.danrigsby.com/blog/index.php/2008/03/07/xmlserializer-vs-datacontract-serializer-serialization-in-wcf/説明のため –
@marc:ありがとう、私はそれについて知りませんでしたが記事を読むことで意味があります。 –