VS 2012 を使用して Web API を作成しました。テスト用に Fiddler 経由で JSON を渡すカスタム オブジェクト パラメーターを持つメソッドがあります。
[HttpPost、HttpPut] public HttpResponseMessage UpsertProject(Projects p) { ... }
My Projects オブジェクトには、JsonIgnore としてマークされた約 12 個のプロパティがあります。私の仮定は、私のオブジェクトが Json にシリアル化されると、それらのプロパティは無視されるということでした...これは本当です。ただし、メソッドをデバッグすると、Fiddler から渡した Json がそれらを設定している場合でも、JsonIgnore でマークされたすべてのオブジェクト プロパティが null に設定されていることに気付きました。また、データを Json として取得し、それをオブジェクトの新しいインスタンスに逆シリアル化しようとしましたが、JsonIngore とマークされたプロパティも設定されません。JsonIgnore がシリアル化に機能することは知っていましたが、逆シリアル化時にプロパティが設定されなくなるとは思いませんでした。イライラするのは、ScriptIgnore がこのように動作しないことはわかっていますが、シリアル化/逆シリアル化を処理するために JSON.net を使用したいということです。私' また、Windows アプリを作成し、同じシリアル化/逆シリアル化機能をテストしたところ、そのアプリで動作しました。これは JsonIgnore 属性による Web API の制限でしょうか?