Git Product home page Git Product logo

topshelfhosting's Introduction

Build

TopshelfHosting

Do you want to write services the dotnet core way, using the IHostedService interface? Do you also like the convenience of running windows services using Topshelf? Then use this extension method to run your generic host as a Topshelf service.

Install

Topshelf.Extensions.Hosting is available as a Nuget-package. From the Package Manager Console enter:

    Install-Package Topshelf.Extensions.Hosting

How to use

Build a generic host the normal way. Use the HostBuilder class as you normally do when building an console app. Replace the .RunAsConsole call with a call to the .RunAsTopshelfService extension method.

First create a service that inherits from IHostedService

        class FileWriterService : IHostedService, IDisposable

Then build the generic host to host the service above.

        var builder = new HostBuilder()
            .ConfigureServices((hostContext, services) =>
            {
                services.AddHostedService<FileWriterService>();
            });

The last thing to run this as a Topshelf service is to call the RunAsTopshelfService extension method.

        builder.RunAsTopshelfService(hc =>
        {
            hc.SetServiceName("GenericHostInTopshelf");
            hc.SetDisplayName("Generic Host In Topshelf");
            hc.SetDescription("Runs a generic host as a Topshelf service.");
        });

You'll configure the windows service using the callback on the method. Configuration is done the normal Topshelf way.

Contribution

I'll be more than happy to get contributions!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.