我正在尝试编写一个简单的 Web api 项目,其中后台服务每秒执行一个方法。此方法循环遍历列表并仅打印(暂时)一些统计信息。我在后台服务的构造函数中声明了一个新列表。
我目前在从控制器内部添加和删除项目时遇到一些问题。
public UsersController(IUserBackgroundService userService)
{
private readonly IUserBackgroundService _userService;
public UserController(IUserBackgroundService userService)
{
_userService = userservice;
}
[HttpPost]
public IActionResult PostUser(User user)
{
_userService.Add(user)
}
}
public UserService: BackgroundService, IUserService
{
private List<User> Users;
public UserService()
{
Users = new List<Users>();
}
protected override ExecuteAsync(CancellationToken token)
{
//this will execute the GenerateUserStats every second
}
//this method is being executed every second
protected Task GenerateUserStatistics()
{
Console.WriteLine($"Nr. of users {users.count}");
foreach(var user in users)
{
Console.WriteLine($"{user.fname} …Run Code Online (Sandbox Code Playgroud) c# background-service asp.net-core asp.net-core-webapi asp.net-core-hosted-services