.NET CORE使用HttpClient进行PostAnsy同步请求

news/2024/5/19 21:48:52 标签: .netcore, json, javascript

先说一下问题,由于之前公共方法用的都不是异步方法,所以没办法将方法改为async方法
也就导致 postansy方法无法使用 因为一旦用了返回就变为Task<>

  List<RealtimeData> realtimeDatas = new List<RealtimeData>();
            string source = "";
            //先将两条数据更新到数据库中
            foreach (var item in server.Points)
            {
                source += "/" + item.Source + ",";
            }
            ///请求对方接口 
            var res = "";
            HttpClient _httpClient = new HttpClient();
            var postContent = new MultipartFormDataContent(); 
            var requestUri = server.HostName;


            var values = new[]
            {
                 new KeyValuePair<string, string>("id","1"), 
                 };

            foreach (var keyValuePair in values)
            {
                postContent.Add(new StringContent(keyValuePair.Value),
                    String.Format("\"{0}\"", keyValuePair.Key));
            }
          var response =   Getcon(requestUri, postContent); 
            //处理返回JSON数据
            var q = JsonConvert.DeserializeObject<List<XNYQM>>(response);
             

            }

注意 关键是Getcon方法如何返回不是Task格式

 public  static  string Getcon(string requestUri, MultipartFormDataContent postContent)
        { 
            HttpClient _httpClient = new HttpClient();
            var response = _httpClient.PostAsync(requestUri, postContent);
            
               response.Wait();
            var t2 = response.Result.Content.ReadAsByteArrayAsync();
            string str = System.Text.Encoding.UTF8.GetString(t2.Result);
            return str;
        } 

这里将接口返回的值进行byte转码就可以返回正常的string 然后在进行处理就可以了


http://www.niftyadmin.cn/n/1180655.html

相关文章

Delphi源程序格式书写规范

Delphi源程序格式书写规范 1&#xff0c;规范简介 本规范主要规定Delphi源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使公司软件开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码&#xff0c;以便于源代码的二次开发记忆…

比较常用的vi命令(持续更新)

2019独角兽企业重金招聘Python工程师标准>>> 都是些使用过并逐渐熟悉的命令&#xff0c;无它&#xff0c;唯手熟尔。会持续更新&#xff0c;有牛逼的各种命令也请多多指教哈~ 文本编辑 i # 在光标前插入 I # 在当前行首插入 a # 在光标后插入 …

Linux 硬盘安装方法

Linux 硬盘安装方法<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />硬盘安装方式一般是在Windows系统的基础上进行的。硬盘安装Linux的基本步骤如下&#xff1a;1、 首先将下载好的光盘镜像文件&#xff0c;放到磁盘中的某个分…

TekRadius服务器配置

5月26日写了篇TekRadius留给自己备忘&#xff0c;没想到还让百度放在了搜索第一位&#xff0c;所以现在还是改成供大家参考的文档吧。因为当初&#xff0c;我是摸着石头过河&#xff0c;无人知道&#xff0c;弄了好几天&#xff0c;才弄好。1. 双击TekRADIUS软件按照默认设…

FileReader接口的方法与使用

FileReader用来把文件读入内存&#xff0c;并且读取文件中的数据。FileReader接口提供了一个异步API&#xff0c;使用该API可以在浏览器主线程中异步访问文件系统&#xff0c;读取文件中的数据。到目前为止FileReader接口兼容情况如下图。 step by step 1、FileReader接口的方法…

【linux设备模型】之platform设备驱动

一、platform总线、设备和驱动platform是一种虚拟总线&#xff0c;对应的设备称为platform_device&#xff0c;对应的驱动称为platform_driver。platform_device定义在<linux/platform_device.h>中&#xff1a;1 struct platform_device {2 const char * name;3 …

[转]一张图即可说明常规B/S架构

逛itpub的时候发现了一张图概括了常规的B/S架构。

【转】C# String.Format数字格式化输出各种转换{0:N2} {0:D2} {0:C2}...

int a 12345678;//格式为sring输出 // Label1.Text string.Format("asdfadsf{0}adsfasdf",a); // Label2.Text "asdfadsf"a.ToString()"adsfasdf"; // Label1.Text string.Format("asdfadsf{0:C}adsfasdf",a);//asdfadsf&am…