LightCore ist ein sehr schneller und einfach zu verwendender DI-Container.
Topshelf und Quarz.Net können beide sehr gut mit DI-Containern verwendet werden, allerdings gab es keine Anbindung an LightCore.
Wenn Quartz.LightCore und Topshelf.LightCore verwendet werden sieht der code so aus:
// setup LightCore
var builder = new ContainerBuilder();
/* some fancy setup here */
var container = builder.Build();
// setup Quartz
var scheduler = await new StdSchedulerFactory()
.GetScheduler()
.UseLightCoreResolverJobFacotry(container);
scheduler.ScheduleJob(
JobBuilder.Create().Build(),
TriggerBuilder.Create().StartNow().Build());
// setup Topshelf
var host = HostFactory.Run(x =>
{
x.UseLightCore(container); // Enable LightCore
x.Service(s =>
{
s.ConstructUsingLightCore(); // Construct service using LightCore
s.WhenStarted(tc => tc.Start());
s.WhenStopped(tc => tc.Stop());
/* more Topshelf code... */
});
});
Die NuGet-Pakete finden sich unter Install-Package Topshelf.LightCore und Install-Package Quartz.LightCore
Keine Kommentare:
Kommentar veröffentlichen