Tôi đã xem xét một số hướng dẫn và câu hỏi SO (chẳng hạn như Cài đặt ứng dụng .Net Core ) liên quan đến việc đọc appsinstall.json trong .Net Core 3 và tôi không thể tìm thấy bất kỳ gợi ý nào về cách thực hiện khi giao dịch với dịch vụ Công nhân. Không có phương pháp Khởi động. Thay vào đó, tôi có một Program.cs với phương thức chính:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
});
}
Làm cách nào để đọc về tệp appsinstall.json trong Dự án Dịch vụ Công nhân trong .Net Core 3?
Tôi đã thêm một tham chiếu đến ứng dụng khách WCF tùy chỉnh mà tôi đã tạo bằng .Net v4.8 và một dự án khác có tất cả Đối tượng miền Busines được chia sẻ giữa toàn bộ giải pháp. Giải pháp của tôi chủ yếu là .Net v4.8 và tôi muốn sử dụng Dịch vụ Công nhân. Dự án Client tạo một WCF Client bên trong bằng mã để tất cả các ràng buộc và điểm cuối đều có thể cấu hình được. Nếu đây là một dự án .Net v4.8, tôi sẽ thêm phần sau vào app.config:
<appSettings>
...
<add key="AminServiceUri" value="http://localhost:45108/ServiceHost/v1/AminService.svc" />
<add key="BillServiceUri" value="http://localhost:45108/ServiceHost/v1/BillService.svc" />
<add key="CustomerServiceUri" value="http://localhost:45108/ServiceHost/v1/CustomerService.svc" />
<add key="EpayServiceUri" value="http://localhost:45108/ServiceHost/v1/EpayService.svc" />
<add key="FinanceServiceUri" value="http://localhost:45108/ServiceHost/v1/FinanceService.svc" />
<add key="GrpServiceUri" value="http://localhost:45108/ServiceHost/v1/GrpService.svc" />
<add key="MetaServiceUri" value="http://localhost:45108/ServiceHost/v1/MetaService.svc" />
<add key="ReportServiceUri" value="http://localhost:45108/ServiceHost/v1/ReportService.svc" />
<add key="ServiceInfoServiceUri" value="http://localhost:45108/ServiceHost/v1/ServiceInfoService.svc" />
<add key="UsersServiceUri" value="http://localhost:45108/ServiceHost/v1/UsersService.svc" />
...
<add key="ExcessiveLogging" value="false" />
...
</appSettings>
Bây giờ tôi cần các cài đặt này ở định dạng JSON mới và đọc chúng trong.
Biên tập
Đây là một dự án mới. Công nhân không làm gì cả:
public class Worker : BackgroundService
{
private readonly ILogger<Worker> logger;
public Worker(ILogger<Worker> logger)
{
this.logger = logger;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
await Task.Delay(5000, stoppingToken);
}
}
}
Và đây là cách tôi có được loại dự án này: