NewsArchival/NewsArchival.Scraper/Program.cs

29 lines
986 B
C#

using AngleSharp;
using LexWells.Infrastructure.Common;
using LexWells.Infrastructure.EntityFramework;
using NewsArchival.Api.Data;
using NewsArchival.Core.Interfaces;
using NewsArchival.Scraper;
using NewsArchival.Scraper.Services;
var builder = Host.CreateApplicationBuilder(args);
builder.Services.AddLexWellsInfrastructure(
builder.Configuration["ConnectionStrings:Redis"] ?? "localhost:6379");
builder.Services.AddLexWellsDatabase<AppDbContext>(
builder.Configuration["ConnectionStrings:DefaultConnection"] ?? "Data Source=newsarchive.db");
builder.Services.AddHttpClient("NewsApi", client =>
{
client.BaseAddress = new Uri(builder.Configuration["ScraperSettings:BaseUrl"] ?? "http://localhost:5000");
});
builder.Services.AddSingleton(BrowsingContext.New(Configuration.Default.WithDefaultLoader()));
builder.Services.AddSingleton<IScraperService, LatestService>();
builder.Services.AddHostedService<Worker>();
var host = builder.Build();
await host.RunAsync();