如何从 C# 类调用 HttpRequest?

问题描述 投票:0回答:1

我有一个计时器,我想调用一个方法。有办法实现吗?

我在服务器端有一个计时器,当计时器结束时,我想向 sql 数据库内的所有成员添加点。

计时器

 private async Task DoWorkAsync()
        {
            try
            {
                while (await _timer.WaitForNextTickAsync(_cts.Token))
                {
                    // Here i want to call AddPointsToAllMembers();
                }
            }
            catch (Exception ex) { 
                Console.WriteLine(ex.ToString());
            }
        }

我想调用的方法

 // Adds points to all members
[HttpGet("members")]
public void AddPointsToAllMembers()
{
   try
   {
                string conString = _configuration.GetConnectionString("MembershipApp");
                MySqlConnection conn = new MySqlConnection(conString);
                conn.Open();
                
                string sqlCommand = "SELECT * FROM member";
                MySqlCommand cmd = new MySqlCommand(sqlCommand, conn);
                MySqlDataReader dReader = cmd.ExecuteReader();

                while (dReader.Read())
                {
                    SetPoints(50, (long)dReader[2]);
                }
                dReader.Close();
                
                conn.Close();
    }
    catch (Exception ex)
    {
                Console.WriteLine(ex.ToString());
    }
}
c# timer controller httprequest
1个回答
1
投票

HttpClient
班。创建它的静态实例并使用
GetStringAsync
和完整的 url 向其发送请求。

在使用

DoWorkAsync
方法的类中:

private static readonly System.Net.HttpClient client = new();

// when you want to invoke the end point
string status = await client.GetStringAsync("http://[yourdomain].com/points/members");

我只是猜测你的控制器 url 和点的终点,根据需要更改它。

如果您关心端点的任何类型的状态/响应,您还可以从客户端获取返回字符串。

© www.soinside.com 2019 - 2024. All rights reserved.