カスタムActionResult
(簡略化)を作成しました:
public class FastJSONResult : ActionResult
{
public string JsonData { get; private set; }
public FastJSONResult(object data)
{
JsonData = JSON.Instance.ToJSON(data);
}
public override void ExecuteResult(ControllerContext context)
{
HttpResponseBase response = context.HttpContext.Response;
response.ContentType = "application/json";
response.Output.Write(JsonData);
}
}
そして、私の WebApi コントローラーから使用します。
public ActionResult GetReport()
{
var report = new Report();
return new FastJSONResult(report);
}
問題は、FastJSONResult
コンストラクターでオブジェクトが完全にシリアル化され、ExecuteResult
呼び出されず、応答して次のようなオブジェクトになるという事実にもかかわらずです。
{"JsonData":"{my json object as a string value}"}
私は何を間違っていますか?