【发布时间】:2014-12-24 00:50:37
【问题描述】:
谁有序列化 HttpRequestMessage 对象的经验?尝试使用 Json.net,它部分有效。也就是说,JsonConvert.DeserializeObject 由于构造问题 StringContent 失败:“无法找到用于 System.Net.Http.StringContent 类型的构造函数”。
这里的用例简而言之,我想保存网络请求并在以后发出它,以防临时网络问题或服务不可用等。
失败的示例代码:
var request = new HttpRequestMessage(HttpMethod.POST, "http://www.something.com");
request.Headers.Date = DateTimeOffset.UtcNow;
request.Headers.AcceptLanguage.Add(new System.Net.Http.Headers.StringWithQualityHeaderValue("en-US"));
request.Content = new StringContent("Hello World!");
request.Content.Headers.Add("x-some", "thing");
var result = JsonConvert.SerializeObject(request, new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Objects,
TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Full
});
var deserializeRequest = JsonConvert.DeserializeObject<HttpRequestMessage>(result, new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Objects
});
【问题讨论】:
标签: c# .net serialization json.net