如何重写 HttpRequestMessage 调用以支持<T>



我找到了一个有用的类,它使用 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> 扩展方法。 这是一个更新的教程,应该可以满足您的需求。

相关内容

  • 没有找到相关文章