- Add Hangfire packages (AspNetCore, Core, InMemory, SqlServer) with configurable storage (InMemory vs SQL Server) - Configure Hangfire dashboard at /hangfire with AllowAllDashboardAuthorizationFilter (no auth for development) - Add Microsoft.Extensions.Hosting.WindowsServices package with conditional UseWindowsService() based on HostingOptions:UseWindowsService config - Create ProfileManager BackgroundService with IServiceScopeFactory for scoped service resolution per iteration - Create AllowAllDashboardAuthorizationFilter for Hangfire dashboard access - Create DtoExtensions with JobId() and ToJob() helper methods - Configure Serilog with file sink (Production: Logs/log-.txt, daily rolling, 30 day retention) and console sink (Development) - Add Serilog enrichers: FromLogContext, WithMachineName, WithThreadId - Update appsettings.json with Hangfire:InMemory flag, HostingOptions:UseWindowsService flag, and Serilog configuration - Create appsettings.Development.json with console-specific Serilog configuration
29 lines
1.3 KiB
XML
29 lines
1.3 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.23" />
|
|
<PackageReference Include="Hangfire.Core" Version="1.8.23" />
|
|
<PackageReference Include="Hangfire.InMemory" Version="1.0.0" />
|
|
<PackageReference Include="Hangfire.SqlServer" Version="1.8.23" />
|
|
<PackageReference Include="Microsoft.Data.SqlClient" Version="7.0.2" />
|
|
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.9" />
|
|
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
|
|
<PackageReference Include="Serilog.Sinks.Console" Version="6.1.1" />
|
|
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
|
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\ECMJobRunner.Application\ECMJobRunner.Application.csproj" />
|
|
<ProjectReference Include="..\ECMJobRunner.Domain\ECMJobRunner.Domain.csproj" />
|
|
<ProjectReference Include="..\ECMJobRunner.Infrastructure\ECMJobRunner.Infrastructure.csproj" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|