我找到了一个有用的类,它使用类型T的JSON序列化/反序列化支持进行Web API调用。您可以查看整个类/文章here。我想我可以从这个课程中得到很多用处,并且想尝试一下。还有一个错误,我无法弄清楚如何处理。它在以下例程中:
protected HttpRequestMessage GetHttpRequestMessage<T>(T data)
{
MediaTypeHeaderValue mediaType = new MediaTypeHeaderValue("application/json");
JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings();
jsonSerializerSettings.Converters.Add(new IsoDateTimeConverter());
JsonNetFormatter jsonFormatter = new JsonNetFormatter(jsonSerializerSettings);
HttpRequestMessage requestMessage = new HttpRequestMessage<T>(data, mediaType, new MediaTypeFormatter[] { jsonFormatter });
return requestMessage;
}
我得到的错误是:
Error 3 The non-generic type 'System.Net.Http.HttpRequestMessage'
cannot be used with type arguments.
HttpRequestMessage<T>
用红色波浪线加下划线。
如何以不会破坏此类通用实用性的方式重写此例程/代码行?
答案 0 :(得分:3)
那篇文章已经过时了;它引用了Web API的BETA版本。已发布的版本as explained here中删除了通用HttpRequestMessage<T>
类。相反,您应该使用PostAsJsonAsync<T>
扩展方法。这里有更多up-to-date tutorial,可以满足您的需求。