| 123456789101112131415161718192021222324252627282930313233343536373839 | using Microsoft.EntityFrameworkCore;using Microsoft.Extensions.Configuration;using Microsoft.Extensions.DependencyInjection;using Microsoft.Extensions.Logging;using System;using Worker.Data;using Worker.Entities;using Worker.Messaging;using Worker.Workers;namespace Worker{    class Program    {        static void Main(string[] args)        {            var config = new ConfigurationBuilder()                .AddJsonFile("appsettings.json")                .AddEnvironmentVariables()                .Build();            var loggerFactory = new LoggerFactory()                .AddConsole();            var services = new ServiceCollection()                .AddSingleton(loggerFactory)                .AddLogging()                .AddSingleton<IConfiguration>(config)                .AddTransient<IVoteData, MySqlVoteData>()                .AddTransient<IMessageQueue, MessageQueue>()                .AddSingleton<QueueWorker>()                .AddDbContext<VoteContext>(builder => builder.UseMySQL(config.GetConnectionString("VoteData")));            var provider = services.BuildServiceProvider();            var worker = provider.GetService<QueueWorker>();            worker.Start();        }    }}
 |