How do you register a Worker Service in Program.cs?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "Using
services.AddHostedService<YourWorker>().". AddHostedServiceđăng ký lớp worker, thường kế thừa BackgroundService, như một IHostedService dạng Singleton, khi host khởi động nó gọi StartAsync và chạy ExecuteAsync của worker cho tới khi ứng dụng dừng. "Using app.MapControllerRoute()." sai vì phương thức này ánh xạ route quy ước cho controller MVC trong pipeline HTTP. "Using app.UseStaticFiles()." sai vì đó là middleware phục vụ tệp tĩnh từ thư mục wwwroot. "Using services.AddDbContext<YourDbContext>()." sai vì nó đăng ký DbContext của EF Core với vòng đời Scoped, không chạy gì nền, và worker muốn dùng DbContext còn phải tự tạo scope qua IServiceScopeFactory.
Cùng chương 8
How do you implement a background task using a Worker Service?Có lời giảiCâu hỏiWhat is the purpose of the CancellationToken parameter in ExecuteAsync(CancellationToken)?Có lời giảiCâu hỏiConsider this C# code:
public class Worker : BackgroundService
{
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
return Task.CompletedTask;
}
}
What is ExecuteAsync?Có lời giảiCâu hỏiCả 21 câu của chủ đề21 câu