私はServiceStack DTOを持っている:ServiceStack.ToJsonを*時々*プロパティを無視するにはどうしますか?
[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);
問題を:イメージバイト配列はかなり大きくなる可能性があります。ロギング時にこのプロパティをシリアル化したくない場合は、ログに大量のイメージデータが格納されます。
DTOのImage byte []に[IgnoreDataMember]
属性を入れてみました。しかし、その理由はVisual Studioに理由がないとビルドに失敗するためです。私は、Imageプロパティに属性を置くことができますが、私が構築しようとしたとき、私は、これは以下を参照してください。
ビルドが失敗しない理由、ちょうどこれらのメッセージを。 「出力」タブには「操作がキャンセルされました」と表示されます。
私の質問:自分の状況でDTOプロパティがシリアル化されるのを無視する最も簡単な方法は何ですか?
本人からの答えは、ありがとう!これは私を助けた。 – ohyeah
@ohyeah np :)うれしかったよ! – mythz