1. Add Startup class to the Windows Service project as below:
using Hangfire;
using Hangfire.Dashboard;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using
Microsoft.Extensions.DependencyInjection;
public class Startup {
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration) {
Configuration =
configuration;
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
app.UseHangfireDashboard();
}
public void ConfigureServices(IServiceCollection services) {
services.AddHangfire(configuration
=> configuration
.UseSqlServerStorage(
Configuration.GetConnectionString("DatabaseConnectionString")
));
}
}
2. Add/ Modify program class as below:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using Hangfire;
using Microsoft.AspNetCore.Hosting;
using
Microsoft.AspNetCore.Server.HttpSys;
using Microsoft.Extensions.Configuration;
using
Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
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) => {
GlobalConfiguration.Configuration
.UseSqlServerStorage(hostContext.Configuration
.GetConnectionString("DbConnectionString"))
.UseConsole();
})
.UseWindowsService()
.ConfigureWebHostDefaults(webBuilder => {
webBuilder.UseHttpSys(options => {
options.Authentication.AllowAnonymous =
false;
options.Authentication.Schemes =
AuthenticationSchemes.NTLM;
})
.UseStartup<Startup>();
});
}
3. Run the Windows service project and access the Hangfire dashboard page from the browser through the below default URL:
http://localhost:5000/hangfire
No comments:
Post a Comment