【发布时间】:2016-05-25 18:51:51
【问题描述】:
我有一个 ServiceStack DTO:
[Route("/images", "POST")]
public class PostImageCommand
{
public string Notes { get; set; }
public byte[] Image { get; set; }
//other properties removed for brevity
}
我的代码中还有一部分使用 log4net 记录消息。我通过序列化命令来做到这一点。例如,我只是这样做:
var command = new PostImageCommand(){
//set properties
};
var commandJson = command.ToJson();
MyLogClass.Log(commandJson);
问题:图像字节数组可能会变得非常大。我不想在记录时序列化此属性,否则我的日志将充满大量图像数据。
我尝试将 [IgnoreDataMember] 属性放在 DTO 中的 Image byte[] 上。但是,这会导致构建失败,而 Visual Studio 没有说明原因。我可以将属性放在 Image 属性上,但是当我尝试构建时,我看到了这个:
没有构建失败的原因,只是这些消息。输出选项卡仅显示“操作已取消”。
我的问题:在我的情况下,忽略 DTO 属性被序列化的最简单方法是什么?
【问题讨论】:
标签: servicestack