自己積累寫的winfrom 操作api 類

来源:http://www.cnblogs.com/zhoudidi/archive/2017/04/07/6676768.html
-Advertisement-
Play Games

引用 類 api 在winform中的get 方法 我在這裡返回的是List<T> 泛型集合,在後臺獲取時聲明泛型收集即可. api 在winfrom 中的put 方法 api 在winfrom 中的Post 方法 api 在winfrom 中的Delete 方法 如果delete方法 需要傳入mo ...


引用 類

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 = 0;
            HttpContent content = new StreamContent(ms);
            content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
            HttpClient client = new HttpClient();
            HttpResponseMessage response = await client.PostAsync(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 = 0;
            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.PutAsync(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 方法進行修改

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、使用該執行打開埠文件vi /etc/sysconfig/iptables2、隨便複製一行現有內容,將你要打開的埠設置上就行了,這裡是打開80埠-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT3、輸入:wq保存退 ...
  • 目錄 1. "基本操作" 1.1. "文件操作" 1.2. "文本操作" 1.3. "目錄操作" 1.4. "SSH, 系統信息 & 網路操作" 2. "基本 Shell 編程" 2.1. "變數" 2.2. "字元串替換" 2.3. "函數" 2.4. "條件" 2.5. "迴圈" 3. "技巧" ...
  • tomcat需要配合java環境來運行,所以我們需要先安裝java(我這裡使用的是java1.7.0版本) 一、準備工作:下載java1.7.0壓縮包 1.將下載的JDK源碼包解壓,並拷貝到指定目錄 2.卸載系統安裝的JAVA環境 3.將JAVA變數添加到環境變數,使所有用戶都可以使用 3.1更新環 ...
  • open a new terminal (ctrl + alt + t) ...
  • #實時同步inotify 1、inotify簡介inotify是一種強大的,細膩度的,非同步的文件系統事件監控機制,linux內核從2.6.13起,加入了inotify支持,通過INOTIFY可以監控文件系統中添加、刪除、修改、移動等各種事件,利用這個內核介面,第三方軟體就可以監控文件系統下文件的各種 ...
  • 1、systemctl 列出正在運行的任務 2、systemctl start *.service 開啟相關服務 3、systemctl stop *.service 關閉相關服務 4、systemctl restart *.service 重啟一個服務 5、systemctl status *.s ...
  • MD5加密 1創建Md5 2.開始加密,需要將字元轉換為位元組數組 3.返回一個加密好的位元組數組 4.將位元組數組中每個元素按照指定的編碼格式解析成字元串 ...
  • 高端大氣上檔次。這次當時一個身為懵懂初中生的我對程式員這一職位的描述。那時雖不是隨處都能看到黑客大軍的波及,但至少是知道所謂的黑客爸爸的厲害,一言不合說被黑就被黑。對於懵懂的我那是一種嚮往。自己也曾想著會不會有一日自己也變得人人畏懼。於是開始踏上這條不歸路。大學選擇了軟體技術專業。寫代碼的第一天覺得 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...