1
public string Post(T obj)
    {
        HttpRequestMessage request = new HttpRequestMessage();
        MediaTypeFormatter[] formatter = new MediaTypeFormatter[] { new JsonMediaTypeFormatter() };
        var content = request.CreateContent<T>(obj, MediaTypeHeaderValue.Parse("application/json"), formatter, new FormatterSelector());
        HttpResponseMessage response = client.PostAsync(this.url, content).Result;
        return response.Content.ToString();
    }

这是我在我的 中使用的 Post 方法HTTPClient,但有一个问题 -CreateContent并且FormatterSelector- 是来自旧引用的类。如何将此代码重写为最新参考:

using System.Net.Http;
using System.Net.Http.Formatting;
using System.Net.Http.Headers;
using Newtonsoft.Json;

我明白在什么问题上。这个方法是扩展方法!所以它们对我来说是不可用的。

4

1 回答 1

2

你可以试试这段代码:

public async Task<string> Post<T>(T obj)
    {
        MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter();
        HttpContent content = new ObjectContent<T>(obj, jsonFormatter);

        var response = await client.PostAsync(this.Url, content);
        return response.Content.ToString();
    }
于 2013-12-09T13:30:12.400 回答