【发布时间】:2015-06-26 21:28:02
【问题描述】:
我有一个小的 Web API 2 应用程序,我试图在其中实现传入请求和传出响应的日志记录(主要是记录您通过 Fiddler2 看到的 HTTP 流量)。
在尝试序列化方法的响应时,我遇到了我不确定如何处理的异常。我试过玩 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)
【问题讨论】:
标签: c# json asp.net-web-api