【问题标题】:Different serialization strategy for two different serializers两个不同序列化器的不同序列化策略
【发布时间】:2014-10-21 22:35:59
【问题描述】:

我使用 WCF 和 Redis 作为缓存层,但不幸的是,WCF 和我使用的驱动程序都在寻找 DataContractAttributeDataMemberAttribute - 我想对 WCF 隐藏一些字段(敏感信息)但是它们应该被序列化到 Redis(使用 StackService.JsonSerializer)。

我想在不编写 2 个不同的类的情况下实现这一点,并希望在运行时在它们之间切换,但我不确定这是否可能。

谢谢!

【问题讨论】:

  • 如果没有区分特征,则无法区分。不考虑技术/预算可行性,您必须创建一个新属性才能进行区分。然后包装/装饰其中一个序列化程序以查看另一个属性。
  • 查看这个答案以了解如何ignore fields with ServiceStack JSON Serializer

标签: c# json wcf serialization servicestack


【解决方案1】:

我不知道,StackService.JsonSerialzer 是如何工作的。

但是对于 DataContract,您可以从敏感字段中删除 DataMember 属性,它们不会被序列化

【讨论】:

  • 在标有 DataContract 的类上,StackService.JsonSerialzer 不会序列化任何未标有 DataMember 的成员
猜你喜欢
  • 2021-02-11
  • 2011-10-25
  • 1970-01-01
  • 2014-06-06
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
相关资源
最近更新 更多