如果有从永丰银行API那边下载过C#版的丰收款QPay.SampleCode,应该能发现他们目前的专案是用 .NET Framework 4.5.2 进行开发,code也是集中在QPayToolkit.cs
这个档案
今天就来介绍一下sample code使用HttpClient
呼叫API的部分
微软在.NET Framework 4.5的时候推出HttpClient,以取代原本的WebClient,但是却有一些连线端耗尽及DNS异动问题。所以微软又推出了HttpClientFactory来改善这些情况。
在.Net Core 3.1框架,也有支援HttpClientFactory
,首先必须在Startup.cs
的ConfigureServices
去注册
services.AddHttpClient();
回去原本的程序码,在一开始利用相依性注入(DI)
private readonly IHttpClientFactory _clientFactory;
public NonceRepository(IHttpClientFactory clientFactory)
{
_clientFactory = clientFactory;
}
接下来就进入到发出Post请求的部分了,其实HttpClientFactory
与HttpClient
实作的程序码差异并不会太大~
public async Task PushMessage()
{
// 建立 HttpClient 实例
var httpClient = _clientFactory.CreateClient();
httpClient.BaseAddress = new Uri("https://apisbx.sinopac.com/funBIZ/QPay.WebAPI/api/");
var message = "shopNo=xxx";
var json = JsonConvert.SerializeObject(message);
HttpContent contentPost = new StringContent(json, Encoding.UTF8, "application/json");
await httpClient.PostAsync("Nonce", contentPost);
}
至於实际在Startup.cs设定HttpClientFactory
以及实际调用API的情况,明天会再继续补充~
See you
连结参考:
几种使用IHttpClientFactory方法
各位看官不好意思,贩子发现其实可以从9/15才开始发废文,原本想说从9/1开始写,但发现底子不够,很...
Redis.config KEYS TRACKING tracking-table-max-keys...
继续看范例fig06_12.cpp下半段,一开始定义三个函式原型void useLocal(), v...
前言 今天来到自学NumPy? 之前在学校上过基础的NumPy 今天要从youtube上找影片完整...
我们昨天已经测试了一个Json的API, 那我们今天将测试方法改成这样 public functio...