文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在C#项目中调用WebApi

2023-06-14 13:31

关注

如何在C#项目中调用WebApi?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.WebRequest方式

Post:

private void button1_Click(object sender, EventArgs e)        {           string ss= HttpPost("http://localhost:41558/api/Demo/PostXXX", "{Code:\"test089\",Name:\"test1\"}");        }        public static string HttpPost(string url, string body)        {            //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);            Encoding encoding = Encoding.UTF8;            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);            request.Method = "POST";            request.Accept = "text/html, application/xhtml+xml, **";            request.ContentType = "application/json";                       HttpWebResponse response = (HttpWebResponse)request.GetResponse();            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))            {                return reader.ReadToEnd();            }        }

2.HttpClient 方式

Post:

private async void button2_Click(object sender, EventArgs e){     HttpClient client = new HttpClient();     //由HttpClient发出Delete Method     HttpResponseMessage response = await client.DeleteAsync("http://localhost:41558/api/Demo"+"/1");     if (response.IsSuccessStatusCode)         MessageBox.Show("成功");}private async void button3_Click(object sender, EventArgs e){     //创建一个处理序列化的DataContractJsonSerializer     DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(People));     MemoryStream ms = new MemoryStream();     //将资料写入MemoryStream     serializer.WriteObject(ms, new People() { Id = 1, Name = "Hello ni" });     //一定要在这设定Position     ms.Position = 0;     HttpContent content = new StreamContent(ms);//将MemoryStream转成HttpContent     content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");     HttpClient client = new HttpClient();     //由HttpClient发出Put Method     HttpResponseMessage response = await client.PutAsync("http://localhost:41558/api/Demo"+ "/1", content);     if (response.IsSuccessStatusCode)         MessageBox.Show("成功");}

Get:

using (WebClient client = new WebClient()){     client.Headers["Type"] = "GET";     client.Headers["Accept"] = "application/json";     client.Encoding = Encoding.UTF8;     client.DownloadStringCompleted += (senderobj, es) =>     {         var obj = es.Result;     };     client.DownloadStringAsync("http://localhost:41558/api/Demo");}

关于如何在C#项目中调用WebApi问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯