Mam metodę internetową, która jest wywoływana z metody ajax jQuery, podobnie jak to:Jak zalogować JSON żądań usług internetowych
$.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");
}
});
I to jest moja metoda internetowej:
[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());
}
}
Jeśli myClass w javascript jest serializowany do poprawnego formatu, następnie metody DoSomething wykonuje i zapisuje surowy json w bazie danych. Ale jeśli myClass jest w błędzie, to metoda nie działa w ogóle i nie mogę zalogować problematycznego json ...
Jaki jest najlepszy sposób, aby zawsze jakoś uzyskać i zalogować surowego json, że moja sieć metoda otrzymuje, nawet jeśli serializacja się nie powiedzie?
Try googlowania "dziennika IIS HttpModule żądanie" powinien znaleźć coś przydatne (przepraszam, nie mogę teraz znaleźć odpowiedniego kodu) – Alex
@alex - dzięki, IHttpModule było dokładnie tym, czego potrzebowałem. – sventevit