Xam*_*Dev 5 c# windows-services .net-core asp.net-core
我的问题是如何在以前的.net版本中编写的.net核心中编写Windows服务?
很多链接/文章解释了如何将.net核心应用程序托管为Windows服务.那么这是我创建Windows服务的唯一方法吗?
如果是的话,任何人都可以提供它的链接/示例
谢谢 !
这是在.net Core(控制台应用程序)中构建Windows服务的另一种简单方法
简单的库,允许一个主机点网络核心应用程序作为Windows服务.
使用nuget: Install-Package PeterKottas.DotNetCore.WindowsService
创建您的第一个服务,如下所示:
public class ExampleService : IMicroService
{
public void Start()
{
Console.WriteLine("I started");
}
public void Stop()
{
Console.WriteLine("I stopped");
}
}
Run Code Online (Sandbox Code Playgroud)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);});
});
});
Run Code Online (Sandbox Code Playgroud)不带参数运行服务,它像控制台应用程序一样运行.
小智 3
不确定是否有默认的方法可以做到这一点。但是,您可以让您的核心应用程序继承ServiceBase并实现必要的覆盖。我们在应用程序中执行此操作(请注意,我们的目标是完整框架,而不是核心)。最初的想法来自以下文章:
请注意,这些文章仍然引用DNX(来自 .NET Core 测试版) - 这些天您的核心应用程序将编译为 exe,因此您可以调整它们的示例来满足这一点。
| 归档时间: |
|
| 查看次数: |
5837 次 |
| 最近记录: |