本示例使用的是.net core2.2版本,微软提供了访问第三方服务的扩展,只需要在Startup.cs中添加。
紧接着就是通过DI直接使用。示例如下:
using Microsoft.AspNetCore.Mvc;using System;using System.Collections.Generic;using System.Net;using System.Net.Http;using System.Threading.Tasks;namespace demo.Controllers { [Route("api/[controller]")] [ApiController]public class ValuesController : ControllerBase {private readonly IHttpClientFactory _httpClientFactory;public ValuesController(IHttpClientFactory httpClientFactory) { _httpClientFactory = httpClientFactory; } [HttpGet]public async Task<ActionResult<string>> Get() {var url = @"http://127.0.0.1:8888/demo/test.asmx/save"; Dictionary<string, string> dicParam = new Dictionary<string, string>(); dicParam.Add("id", "1"); dicParam.Add("name", "张三"); HttpContent content = new FormUrlEncodedContent(dicParam);return await RemoteHelper(url, content); }private async Task<string> RemoteHelper(string url, HttpContent content) {var result = string.Empty;try{using (var client = _httpClientFactory.CreateClient())using (var response = await client.PostAsync(url, content)) {if (response.StatusCode == HttpStatusCode.OK) { result = await response.Content.ReadAsStringAsync(); } } }catch (Exception ex) { Console.WriteLine(ex); }return result; } } }
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4