csharp C#中的Topshelf使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp C#中的Topshelf使用相关的知识,希望对你有一定的参考价值。

// C#, Topshelf, NancyFX, Template

using System.Diagnostics;
using Topshelf;

namespace TopShelfIntro
{
    class Program
    {
        static void Main(string[] args)
        {
            RunAsWindowsService();
        }

        private static void RunAsWindowsService()
        {
            HostFactory.Run(config =>
            {
                config.Service<ServiceToStart>(selfHost =>
                {
                    selfHost.ConstructUsing(() => new ServiceToStart());
                    selfHost.WhenStarted(s => s.Start());
                    selfHost.WhenStopped(s => s.Stop());
                });
                config.RunAsLocalSystem();
                config.SetServiceName("ServiceName.Api");
                config.SetDisplayName("Service Display Name");
                config.SetDescription("Service Description");
            });
        }
    }
}

//Then you should build it in Relase mode, go to the artifact path using cmd
//with admin privileges, and then install the service "yourexefile.exe install"
public class ServiceToStart
{
    public ServiceToStart()
    {
    }

    public void Start()
    {
        Debug.WriteLine("Started");
    }

    public void Stop()
    {
        Debug.WriteLine("Stopped");
    }
}

以上是关于csharp C#中的Topshelf使用的主要内容,如果未能解决你的问题,请参考以下文章

csharp 示例Topshelf服务,演示如何使用Fooidity Switchyard切换功能

csharp 定期从Topshelf Windows服务调用多个处理程序(使用System.Threading.Timer)

csharp Topshelf与Windsor的基本用法

csharp Topshelf + OWIN自主机+ ASP.NET WebAPI + Ninject

C# Topshelf 超时异常

分析使用 TopShelf 的应用程序