WebサービスのJSONリクエストログインする方法:私はこのように、jQueryのAJAXメソッドから呼び出されたWebメソッドを、持っている
$.ajax({
type: "POST",
url: "MyWebService.aspx/DoSomething",
data: '{"myClass": ' + JSON.stringify(myClass) + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (result) {
alert("success");
},
error: function() {
alert("error");
}
});
をそして、これは私のウェブメソッドです:
[WebMethod(EnableSession = true)]
public static object DoSomething(MyClass myClass)
{
HttpContext.Current.Request.InputStream.Position = 0;
using (var reader = new StreamReader(HttpContext.Current.Request.InputStream))
{
Logger.Log(reader.ReadToEnd());
}
}
の場合javascript内のmyClassは正しい形式にシリアル化され、次にDoSomethingメソッドが実行され、生のjsonがデータベースに保存されます。 しかし、myClassが間違っていると、メソッドが全く実行されず、問題のあるjsonをログに記録できません...
生のjsonをいつも取得してログに記録する最良の方法は、メソッドは、シリアル化に失敗した場合でも受け取る?
は、あなたが何かを見つける必要があり、「IISログ要求HttpModuleを」をグーグルで試してみてください有用な(申し訳ありません、私は今すぐ関連コードを見つけることができません) – Alex
@alex - ありがとう、IHttpModuleは私が必要としていたものです。 – sventevit