【问题标题】:Skip Serializing properties generically during Web API processing在 Web API 处理期间一般跳过序列化属性
【发布时间】:2016-04-28 18:38:00
【问题描述】:

在 WebAPI 响应处理期间,我们需要记录响应/请求正文和标头,并跳过安全属性。使用 Newtonsoft Json,由于实际响应应该包含属性,因此不能放置“忽略”属性。我们已经实现了通用过滤器来处理所有将排除的属性键名称作为列表的 Web API 方法。以下是尝试过的方法。

  1. 执行 Jobject.Parse 并遍历 JTokens 并排除。
  2. 使用 JsonTextReader 并在阅读时应用条件。

两者都需要几毫秒的时间,这是不可接受的,因为它只是用于记录。

是否有任何最佳方式来实现这一目标?

【问题讨论】:

标签: c# json serialization asp.net-web-api json.net


【解决方案1】:

创建一个没有安全属性的基类,使用基类记录数据,使用子类拥有一切。

或者从您的类中创建一个接口并创建一个具有 Ignore 属性的新类,用于记录结果。

【讨论】:

  • 场景是在返回响应之前,我们必须捕获并记录。记录时,应跳过某些属性。
  • 恐怕我听不懂。在第一种情况下,如果您将子实例记录为基类,则不会记录子实例的属性。然后将答案作为包含所有属性的子类返回。
猜你喜欢
  • 1970-01-01
  • 2013-04-11
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 1970-01-01
相关资源
最近更新 更多