C# 使用正文中的JObject调用Web Api

C# 使用正文中的JObject调用Web Api,c#,C#,我想在代码隐藏中调用我构建的Web Api,并保存存储在以下JObject中的一些数据: var json = new JObject( new JProperty("firstName", txtFirstName.Text), new JProperty("lastName", txtLastName.Text), new JProperty("companyName", txtCompanyName.Text),

我想在代码隐藏中调用我构建的Web Api,并保存存储在以下JObject中的一些数据:

var json = new JObject(
            new JProperty("firstName", txtFirstName.Text),
            new JProperty("lastName", txtLastName.Text),
            new JProperty("companyName", txtCompanyName.Text),
            new JProperty("email", txtEmail.Text),
            new JProperty("phone", txtPhone.Text)
        );

问题是,我不确定最好的解决办法。我已经找到了大量接近答案的例子,但不完全是我想要的。那么,如何构造对web api的http调用(在C#中),并将前面提到的JObject发布到消息体中呢?我不一定需要返回任何东西,除了一条通用的成功或失败消息。非常感谢您的帮助。

下面是一个使用
System.Net.HttpClient

 string jsonText = json.ToString();
 using (var client = new HttpClient())
 {
      var httpContent = new StringContent(jsonString);
      httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

      HttpResponseMessage message = await client.PostAsync("http://myWebUrl/send", httpContent);
 }

我最终将json更改为.net对象并解决了我的问题

using System.Net.Http;
using System.Net.Http.Headers;

        var userData = new User()
        {
            firstName = txtFirstName.Text,
            lastName = txtLastName.Text,
            companyName = txtCompanyName.Text,
            email = txtEmail.Text,
            phone = txtPhone.Text
        };
            client.BaseAddress = new Uri("http://yourBaseUrlHere");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = await client.PostAsJsonAsync("requestUrlHere", user);
            if (response.IsSuccessStatusCode)
            {
                //Success code
            }
那样-