zoukankan      html  css  js  c++  java
  • C#后端调用WebApi地址

     1 using Newtonsoft.Json;
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Net.Http;
     6 using System.Net.Http.Headers;
     7 using System.Text;
     8 using System.Threading.Tasks;
     9 
    10 namespace Services
    11 {
    12     public class HttpHelper<T> where T : class, new()
    13     {
    14         private Uri BaseUri
    15         {
    16             get
    17             {
    18                 return new Uri(GlobalString.BaseUrl);
    19             }
    20         }
    21 
    22         private Uri RequestUri(string requestUrl)
    23         {
    24 
    25             return new Uri(BaseUri, requestUrl);
    26         }
    27 
    28        //用Post还是用Get,要与WebApi的请求方式一致
    29         public async Task<T> GetPostResult(string requestUrl, FormUrlEncodedContent content)
    30         {
    31             using (var client = new HttpClient())
    32             {
    33                 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(GlobalString.JsonHeader));
    34                 using (var response = await client.PostAsync(RequestUri(requestUrl), content))
    35                 {
    36                     if (response.IsSuccessStatusCode)
    37                     {
    38                         var productJsonString = await response.Content.ReadAsStringAsync();
    39                         return JsonConvert.DeserializeObject<T>(productJsonString);
    40                     }
    41                     return new T();
    42                 }
    43             }
    44         }
    45     }
    46 }
    服务类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Services
     8 {
     9     public class GlobalString
    10     {
    11         public static string JsonHeader
    12         {
    13             get
    14             {
    15                 return "application/json";
    16             }
    17         }
    18 
    19         public static string BaseUrl
    20         {
    21             get
    22             {
    23                 return "http://www.XXX.com";
    24             }
    25         }
    26 
    27 
    28         public static string GetApiUrl
    29         {
    30             get
    31             {
    32                 return "apiUrl";
    33             }
    34         }
    35 
    36     }
    37 }
    全局常量类
  • 相关阅读:
    ElasticSearch工作原理
    prometheus监控es集群
    es索引调优
    ES中Refresh和Flush的区别
    网络服务器技术Apache与Nginx,IIS的不同
    shell里/dev/fd与/proc/self/fd的区别
    常用抓包工具
    Ubuntu Kubuntu Xubuntu Lubuntu Dubuntu Mythbuntu UbuntuBudgie区别
    Android的Looper.loop()消息循环机制
    申请读写sd卡权限shell
  • 原文地址:https://www.cnblogs.com/lishidefengchen/p/8036437.html
Copyright © 2011-2022 走看看