我有一個Web方法,這是從jQuery的AJAX方法調用,這樣的JSON請求:如何登錄的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");
}
});
這是我的Web方法:
[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的最佳方式,即我的web方法接收,即使序列化失敗?
嘗試谷歌搜索「IIS日誌請求的HttpModule」你應該找什麼有用(抱歉,我現在找不到相關的代碼) – Alex
@alex - 謝謝,IHttpModule正是我所需要的。 – sventevit