1
我有一個小的Web API 2應用程序,我試圖實現傳入請求和傳出響應的日誌記錄(基本上記錄你通過HTTP流量看到的東西Fiddler2)。序列化IHttpActionResult作爲JSON導致異常
在嘗試序列化來自某個方法的響應時,我收到了我不知道如何處理的異常。我試着玩JsonSerializerSettings等等。我可能會以完全錯誤的方式去做這件事。將不勝感激任何指導。
下面是導致異常的代碼片段。
var response = Ok(successMessage);
JsonSerializerSettings settings = new JsonSerializerSettings
{
PreserveReferencesHandling=Newtonsoft.Json.PreserveReferencesHandling.Objects,
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};
this.Logging.LogMessage(MessageType.ServiceResponse, JsonConvert.SerializeObject(response, Formatting.Indented, settings));
return response;
例外:
Newtonsoft.Json.JsonSerializationException: Error getting value from 'ReadTimeout' on 'System.Web.HttpInputStream'. --->
System.InvalidOperationException: Timeouts are not supported on this stream. at System.IO.Stream.get_ReadTimeout() at GetReadTimeout(Object)
at Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target) --- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target)
等一下。爲什麼不只是返回ok(成功消息) – MIKE
,因爲我想將響應記錄在數據庫中。這是一個簡單的例子,但我們也希望記錄其他請求驗證錯誤以及類似事件的響應條件。 – Cortright