でJSONなどのデータは、私はこのアヤックスを持って取得:コントローラ
$.ajax({
url: "/api/Values",
dataType: "json",
type: "POST",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({
Id: "1", Name: "Name1", Family: "Family1"
}),
んが、私は私はlog4netのテキストファイルに保存することができるように、コントローラにdata
を取得したいん。現在、私はこのコードを書いています:
public void PostValues(Class1 cs)
{
var data = $"Id = {cs.Id}, Name = {cs.Name}, Family = {cs.Family}";
Log.Debug($"POST Request, value = {data}");
}
モデルバインディングでは、上記のようなクラスプロパティにバインドされたデータを取得し、上記のように組み合わせることができます。しかし、私はすべてのクラスのプロパティを通過する必要があるので、私はこの方法を使用したくないです。 JSONとしてコントローラにデータを投稿する方法はありますか?私は、コントローラに以下の行を取得する方法でなければなりません確信している:
Id: "1", Name: "Name1", Family: "Family1"
のようなJSONオブジェクトにクラスのオブジェクトをシリアル化するために
JavaScriptSerializer
を使用することができます。 –jsonを逆シリアル化してシリアル化する理由jsonをリクエストから読み取る方法が必要です。 (WCFでは可能ですがwebapiは使用していません) –
@LB、 'Request.InputStream'は、コントローラ内の生データを提供します。それ以外では、 'HttpContext.Current.Request.InputStream'を使って生データを取得することができます。しかし、再び、ロギング以外に、モデルオブジェクトとしてそれを受け入れることが正しい方法である、このデータに対する追加の処理があるかもしれません。 –