自己积累写的winfrom 操作api 类
引用 类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Http;
using System.Net.WebSockets;
using Newtonsoft.Json;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Windows.Forms;
api 在winform中的get 方法
public static List<T> Jsonobject<T>(Uri url)
{ using (var client = new HttpClient())
{
var result = client.GetStringAsync(url).Result; List<T> ds = JsonConvert.DeserializeObject<List<T>>(result);
return ds;
}
我在这里返回的是List<T> 泛型集合,在后台获取时声明泛型收集即可.
api 在winfrom 中的put 方法
public async void PueAnsy<T>(Uri uri, T t1)
{ string data = JsonConvert.SerializeObject(t1);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, t1);
ms.Position = ;
HttpContent content = new StreamContent(ms);
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PutAsync(uri, content);
if (response.IsSuccessStatusCode) { } else { } }
api 在winfrom 中的Post 方法
public async void Update<T>(T t1, Uri url)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, t1); //传入model ms.Position = ;
HttpContent content = new StreamContent(ms);//将MemoryStream转成HttpContent
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { MessageBox.Show("成功"); } }
api 在winfrom 中的Delete 方法
public async void Delete(Uri url)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.DeleteAsync(url);
if (response.IsSuccessStatusCode)
{
MessageBox.Show("删除成功");
}
else
{
MessageBox.Show("删除失败");
}
}
如果delete方法 需要传入model ,参照update 方法进行修改
自己积累写的winfrom 操作api 类的更多相关文章
- PHP:自己写的mysql操作类
a{ font-weight: bold; display: block; text-align: center; color: #5887bf; font-size: 22px; } .conten ...
- 分享下自己一直用的.NET SQLSERVER 封装类下自己写的DataHelper 操作类
一,概述: 这个DataHelper 类是基于我上个博客里发的SQLDataAccess 这个类做的一个简单的封装,为了结合自己的实体类和数据操作而产生的. 这里面用了 属性类,反射.还有 数据类型 ...
- paip.复制文件 文件操作 api的设计uapi java python php 最佳实践
paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi copy() =====java的无,要自己写... ====php copy ...
- 线程操作API
线程操作API 1.currentThread 2.getId() .getName().getPriority().getStart.isAlive().isDaemon().isInterrupt ...
- Use Generic Replacements of 1.X Framework API Classes 用泛型替换Framework 1.X版本的API类
第一章,第一节 用泛型替换Framework 1.X版本的API类. 说起来,我是没接触过Framework 1.X版本的程序,12年毕的业(算算时间也一年多了,依旧一事无成,汗),毕业之后到公司实习 ...
- 文件的概念以及VC里的一些文件操作API简介
文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等.文 ...
- 【原创】自己动手写一个能操作redis的客户端
引言 redis大家在项目中经常会使用到.官网也提供了多语言的客户端供大家操作redis,如下图所示 但是,大家有思考过,这些语言操作redis背后的原理么?其实,某些大神会说 只要按照redis的协 ...
- 使用回调方式写POI导入excel工具类
场景是这样的:为了做一个excel导入的功能,为了尽可能的写一个通用的工具类,将与poi有关的东西都封装起来,以便以其他人员只用关心自己的业务,不用和poi打交道. 写到最后,现在还是会有poi的东西 ...
- Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类
该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...
随机推荐
- Xamarin.Android 绑定友盟社会化分享组件
Xamarin.Android 绑定友盟社会化分享组件 最近在开发博客园Android App的时候需要用到友盟社会化分享组件,在github上搜了一下都没有找到最新版本绑定好的项目,就自己动手来绑定 ...
- DirectFB 之 FillRectangle 绘制矩形
1. 函数原型解析 函数声明: DFBResult FillRectangle ( IDirectFBSurface * thiz, int x, int ...
- 蓝桥杯-凑算式-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- ST-1之乱码bug
我印象最深刻的一个错误就是乱码.上学期末做web期末作业时候,我就遇到了好多乱码问题.乱码问题并不是程序本身的逻辑错误,但是却让程序的可用性非常的差.只有输入英文时才能判断结果的正确与否.而且编译器又 ...
- 记录——excel导出lua工具(python实现)
项目需要一个从excel导出lua配置表的工具,之前的工具是主程写的,效率极差,i7 CPU 一次全部导出要花掉1个多小时.匪夷所思的是,这么渣的效率,居然用了整整一年.当 然,中途有人反映效率差,主 ...
- IOS的UIPickerView 和UIDatePicker
1.UIPickerView的常见属性 //数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id<UIPikerViewData ...
- OC中Foundation框架之NSDictionary、NSMutableDictionary
NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDic ...
- CompletionService 简介
以下是jdk关于CompletionService的简介: public interface CompletionService<V> 将生产新的异步任务与使用已完成任务的结果分离开来的服 ...
- eval全局作用域和局部作用域的坑!
1.eval 是个函数,他可以被赋值给变量,例如 var evalg = eval; evalg("alert(1)"); 2.eval被赋值时,也会把当前eval所处的变量 ...
- 局域网内部署 Docker Registry
在局域网内部署 Docker Registry 可以极大的提升平时 pull.push 镜像的速度,从而缩短自动化操作的过程.同时也可以缓解带宽不足的问题,真是一举多得.本文将从创建单机的 Docke ...