Skip to content

A-KL/Topshelf.MicrosoftDependencyInjection

Repository files navigation

Topshelf.MicrosoftDependencyInjection

Topshelf.MicrosoftDependencyInjection provides extensions to construct your service class from your MicrosoftDependencyInjection service provider.

Build status

Example Usage

static void Main(string[] args)
{
	// Create your provider
	var provider = new ServiceCollection()
	    .AddSingleton<ISampleDependency, SampleDependency>()
	    .BuildServiceProvider();

	HostFactory.Run(c =>
	{
		// Pass it to Topshelf
		c.UseServiceProvider(provider);
		c.Service<SampleService>(s =>
		{
			// Let Topshelf use it
			s.ConstructUsingServiceProvider();
			s.WhenStarted((service, control) => service.Start());
			s.WhenStopped((service, control) => service.Stop());
		});
	});
}

About

MicrosoftDependencyInjection integration for Topshelf

Resources

License

Stars

Watchers

Forks

Packages

No packages published