I am trying to create a structure similar to the IHosted Service structure in ASP.Net Core with ASP.Net Framework 4.8, but I could not create the structure I wanted.
project-structure
Startup.cs
public partial class Startup
{
private IConfiguration Conf { get; }
public Startup()
{
var builder = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
//.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.AddJsonFile("appsettings.json");
Conf = builder.Build();
}
public void Configuration(IAppBuilder app)
{
app.UseHangfireAspNet(GetHangfireServers);
app.UseHangfireDashboard();
}
private IEnumerable<IDisposable> GetHangfireServers()
{
Hangfire.GlobalConfiguration.Configuration
.SetDataCompatibilityLevel(CompatibilityLevel.Version_180)
.UseSimpleAssemblyNameTypeSerializer()
.UseRecommendedSerializerSettings()
.UseSqlServerStorage(Conf.GetSection("ConnectionStrings")["HangFireConnectionString"]);
yield return new BackgroundJobServer();
}
protected static string GetXmlCommentsPath()
{
return System.String.Format($@"{0}binMyApi.XML",
System.AppDomain.CurrentDomain.BaseDirectory);
}
}
Global.asax.cs
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
System.Web.Http.GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
UnityConfig.RegisterComponents();
}
}