https://github.com/zyq025/DotNetCoreStudyDemo/blob/main/HttpClientConsoleDemo/Program.cs

https://github.com/zyq025/DotNetCoreStudyDemo/blob/main/HttpClientConsoleDemo/Program.cs

 

using Microsoft.Extensions.DependencyInjection;
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace HttpClientConsoleDemo
{
    class Program
    {
        public static async Task Main(string[] args)
        {
            // 使用.NetCore的依赖注入
            var serviceCollection = new ServiceCollection();
            // 注入HttpClient相关服务
            serviceCollection.AddHttpClient();
            // 构建一个容器
            var serviceProvider = serviceCollection.BuildServiceProvider();
            IHttpClientFactory httpClientFactory = serviceProvider.GetService<IHttpClientFactory>();

            //下面是使用
            Console.WriteLine("开始访问自己的网站!");
            for (int i = 0; i < 15; i++)
            {
                // 通过HttpClientFactory创建出一个HttpClient
                var client = httpClientFactory.CreateClient();
                // 访问地址
                var response = await client.GetAsync("http://47.113.204.41/");
                Console.WriteLine($"请求返回状态码:{response.StatusCode}");
            }
            Console.WriteLine("访问完成!");
        }

        private static HttpClient Client = new HttpClient();
        private static async Task NewMethod1()
        {
            Console.WriteLine("开始访问自己的网站!");
            // 循环访问多次
            for (int i = 0; i < 15; i++)
            {
                // 这里访问自己云服务器站点,没有做负载,所以方便看测试结果
                var result = await Client.GetAsync("http://47.113.204.41/");
                Console.WriteLine($"请求返回状态码:{result.StatusCode}");
            }
            Console.WriteLine("访问完成!");
        }

        static async Task NewMethod()
        {
            Console.WriteLine("开始访问自己的网站!");
            // 循环访问多次
            for (int i = 0; i < 15; i++)
            {
                // using包裹使用HttpClient
                using (HttpClient httpClient = new HttpClient())
                {
                    // 这里访问自己云服务器站点,没有做负载,所以方便看测试结果
                    var result = await httpClient.GetAsync("http://47.113.204.41/");
                    Console.WriteLine($"请求返回状态码:{result.StatusCode}");
                }
            }
            Console.WriteLine("访问完成!");
        }
    }
}

posted @   易胆大888  阅读(240)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示