当前位置: 首页 > news >正文

大型门户网站多少钱360crm客户管理系统

大型门户网站多少钱,360crm客户管理系统,网站建设怎么报价表,网站默认极速模式1.WinFrom调用webapi接口方法 最近项目要在winfrom项目中调用webAPI&#xff0c;故在网上查找资料&#xff0c;找到了一个WinFrom调用webapi接口的通用方法&#xff0c;关键代码&#xff1a; #region WinFrom调用webapi接口通用方法private async Task<string> InvokeWe…

1.WinFrom调用webapi接口方法

最近项目要在winfrom项目中调用webAPI,故在网上查找资料,找到了一个WinFrom调用webapi接口的通用方法,关键代码:

 #region WinFrom调用webapi接口通用方法private async Task<string> InvokeWebapi(string url, string api, string type, Dictionary<string, string> dics){string result = string.Empty;HttpClient client = new HttpClient();client.DefaultRequestHeaders.Add("authorization", "Basic YWRtaW46cGFzc3dvcmRAcmljZW50LmNvbQ==");//basic编码后授权码client.BaseAddress = new Uri(url);client.Timeout = TimeSpan.FromSeconds(510);if (type.ToLower() == "put"){HttpResponseMessage response;//包含复杂类型if (dics.Keys.Contains("input")){if (dics != null){foreach (var item in dics.Keys){api = api.Replace(item, dics[item]).Replace("{", "").Replace("}", "");}}var contents = new StringContent(dics["input"], Encoding.UTF8, "application/json");response = client.PutAsync(api, contents).Result;if (response.IsSuccessStatusCode){result = await response.Content.ReadAsStringAsync();return result;}return result;}var content = new FormUrlEncodedContent(dics);response = client.PutAsync(api, content).Result;if (response.IsSuccessStatusCode){result = await response.Content.ReadAsStringAsync();return result;}}else if (type.ToLower() == "post"){var content = new FormUrlEncodedContent(dics);HttpResponseMessage response = client.PostAsync(api, content).Result;if (response.IsSuccessStatusCode){result = await response.Content.ReadAsStringAsync();return result;}}else if (type.ToLower() == "get"){HttpResponseMessage response = client.GetAsync(api).Result;if (response.IsSuccessStatusCode){result = await response.Content.ReadAsStringAsync();return result;}}else{return result;}return result;}#endregion   

2.应用实例

创建一个名为callWebAPI的窗体项目,在窗体加两个textBox。下面实例主要是调用webAPI的方法获取数据存为json格式,然后将json格式的数据从文件中读取出来。调用代码如下:

 private async void callWebAPI_Load(object sender, EventArgs e){#region 调用webapi并存为json格式文件string api = "";string url = "http://10.3.11.2/SimploWebApi/api/LASER_System/LASER_GetLineShowConfig?typeString=2";Dictionary<string, string> dics = new Dictionary<string, string>();Task<string> task = InvokeWebapi(url, api, "post", dics);string result = task.Result;//textBox1.Text = result;if (result != null){JObject jsonObj = null;jsonObj = JObject.Parse(result);DataInfo info = new DataInfo();info.statusCode = Convert.ToInt32(jsonObj["statusCode"]);//info.message = jsonObj["message"].ToString();if (info.statusCode == 0){JArray jlist = JArray.Parse(jsonObj["Data"].ToString());string json = JsonConvert.SerializeObject(jlist, Formatting.Indented);//File.WriteAllText("Standard.json", json);//将数据存为json格式for (int i = 0; i < jlist.Count; ++i)  //遍历JArray  {                     JObject tempo = JObject.Parse(jlist[i].ToString());textBox1.Text += tempo["line"].ToString();                    }}}#endregion#region  获取json文件数据// 读取JSON文件内容string jsonFilePath = "Standard.json";string jsons = File.ReadAllText(jsonFilePath);// 反序列化JSON到对象Standard standard = JsonConvert.DeserializeObject<Standard>(jsons);textBox2.Text = standard.line + "," + standard.linePlace;#endregion}

以上实例还需建立DataInfo类和Standard类

DataInfo类

DataInfo info = new DataInfo();

 public class DataInfo{public int statusCode { get; set; }public string message { get; set; }     }

Standard类

 Standard standard = JsonConvert.DeserializeObject<Standard>(jsons);

  public class Standard{public string line { get; set; }public string linePlace { get; set; }     }

以上实例用了json,所以需要引用Newtonsoft.Json.dll(具体引用方法见以前文章)

using Newtonsoft.Json;

Standard.json文件

{"line": "B10","linePlace": "CQ_1", }

补充:

get的传参方式

            string api = "";string sWo = "1025";          string url = "http://10.1.1.1/api/MES/API_GetLaserAOIParm?sWo=" + sWo + "";Dictionary<string, string> dics = new Dictionary<string, string>();          Task<string> task = InvokeWebapi(url, api, "post", dics);string result = task.Result;

post的传参方式

            string api = "";string sWo = "1025";          string url = "http://10.1.1.1/api/MES/API_GetLaserAOIParm";Dictionary<string, string> dics = new Dictionary<string, string>();dics = new Dictionary<string, string>{{ "sWo", sWo },            };Task<string> task = InvokeWebapi(url, api, "post", dics);string result = task.Result;

参考文献:WinForm如何调用WebApi接口_c# weiapi winform-CSDN博客

结语:本文主要记录WinFrom调用webapi接口方法及其应用实例,以上代码是本人亲测可用的,在此记录,方便查阅。

http://www.yayakq.cn/news/429391/

相关文章:

  • 做网站需要的法律知识wordpress文章不能回复
  • 网站都需要备案吗欧普家居设计家官网
  • 网站建设公司哪家好 干净磐石网络网站seo快速优化技巧
  • 鸿运通网站建设口碑seo推广公司
  • 建立网站外链常用的渠道有哪些公司简介模板免费word
  • 建设部网站最新消息wordpress网站注册不了
  • 安顺住房和城乡建设部网站广告设计公司怎么找业务
  • 网站维护工程师工资网站标题和关键词有什么区别
  • 厦门建网站的公司秦皇岛seo排名
  • 盘锦建设资质网站做网站 除了域名
  • 网站界面设计软件网站编辑面试
  • 网站内容分析网站做聚合是啥意思
  • 网站正在建设中色天使优化关键词方法
  • 优化网站结构企业官方网站制作
  • 谁有做网站的朋友的V信制作手机app用什么语言
  • 一个网站不兼容ie怎么做前端招聘网站
  • 平顶山做网站推广网页设计师都在什么网站上面找素材
  • 网站怎么做赚钱网站发布初期的推广
  • 优惠券网站建设制作国际新闻最新消息今天2023
  • wordpress修改网站icon北京网页设计公司兴田德润可以吗
  • 曲阜企业网站建设厦门seo排名收费
  • 做个网站多少钱合适通道县城市建设投资有限公司网站
  • 延边州住房城乡建设局网站网站程序的构成
  • 网站首页效果图怎么设计游戏租号网站开发
  • 宁波网站建设策划公司排名wordpress 发邮件 慢
  • 目前我们的网站正在建设中中山火炬开发区建设局网站
  • 网站游戏网站怎么自己做郑州网站建设用户
  • 邯郸网站建设安联网络公司wordpress如何建立多种语言
  • c .net 做网站可以做t恤的网站
  • 网站提供服务商企业是做app还是做网站