我的问题是如何在 .net core 中编写我们在以前的 .net 版本中编写的 Windows 服务?
许多链接/文章解释了如何将 .net core 应用程序托管为 Windows 服务。那么这是我创建 Windows 服务的唯一方法吗?
如果是,任何人都可以提供链接/示例
Thanks !
这是在 .net Core 中构建 Windows 服务的另一种简单方法(控制台应用程序)
DotNet Core.Windows 服务
简单的库,允许将 .net core 应用程序托管为 Windows 服务。
安装
使用 nuget:安装包 PeterKottas.DotNetCore.WindowsService
Usage
- 创建 .NET Core 控制台应用程序。
-
创建您的第一个服务,如下所示:
public class ExampleService : IMicroService
{
public void Start()
{
Console.WriteLine("I started");
}
public void Stop()
{
Console.WriteLine("I stopped");
}
}
-
服务API:
ServiceRunner<ExampleService>.Run(config =>
{
var name = config.GetDefaultName();
config.Service(serviceConfig =>
{
serviceConfig.ServiceFactory((extraArguments) =>
{
return new ExampleService();
});
serviceConfig.OnStart((service, extraArguments) =>
{
Console.WriteLine("Service {0} started", name);
service.Start();
});
serviceConfig.OnStop(service =>
{
Console.WriteLine("Service {0} stopped", name);
service.Stop();
});
serviceConfig.OnError(e =>
{
Console.WriteLine("Service {0} errored with exception : {1}", name, e.Message);});
});
});
不带参数运行服务,它像控制台应用程序一样运行。
- 运行服务行动:安装它将安装该服务。
- 运行服务操作:卸载它将卸载该服务。
- 运行服务动作:开始它将启动该服务。
- 运行服务动作:停止它会停止服务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)