我找到了一个有用的类,它使用 JSON 序列化/反序列化支持 T 进行 Web API 调用。您可以在此处查看整个课程/文章。我想我可以从这门课中获得很多用处,并想尝试一下。还有一个错误,我不知道如何处理。它位于以下例程中:
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>
用红色波浪线下划线。
我将如何重写此例程/代码行,以免破坏此类的通用用途?
该文章已过时;它引用的是 Web API 的 BETA 版本。 通用HttpRequestMessage<T>
类在已发布的版本中被删除,如此处所述。 相反,您应该使用 PostAsJsonAsync<T>
扩展方法。 这是一个更新的教程,应该可以满足您的需求。