সর্বশেষতম। নেট কোর ৩.১ এর উপর ভিত্তি করে ওয়ার্কার সার্ভিস হিসাবে কনসোল অ্যাপ্লিকেশনটিকে উইন্ডোজ পরিষেবাতে কীভাবে পরিবর্তন করা যায় তার একটি নতুন উপায় এখানে is ।
আপনি যদি ভিজ্যুয়াল স্টুডিও 2019 থেকে একটি ওয়ার্কার পরিষেবা তৈরি করেন এটি আপনাকে বাক্সের বাইরে উইন্ডোজ পরিষেবা তৈরি করার জন্য আপনার প্রয়োজনীয় সমস্ত কিছু দেবে, এটি একটি উইন্ডোজ পরিষেবাতে রূপান্তর করার জন্য কনসোল অ্যাপ্লিকেশনটিতে আপনাকে পরিবর্তন করতে হবে।
এখানে আপনার পরিবর্তনগুলি করা দরকার:
নিম্নলিখিত NuGet প্যাকেজ ইনস্টল করুন
Install-Package Microsoft.Extensions.Hosting.WindowsServices -Version 3.1.0
Install-Package Microsoft.Extensions.Configuration.Abstractions -Version 3.1.0
প্রোগ্রামের পরিবর্তনগুলি নীচের মত একটি বাস্তবায়ন পেতে:
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace ConsoleApp
{
class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).UseWindowsService().Build().Run();
}
private static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
});
}
}
এবং Worker.cs যুক্ত করুন যেখানে আপনি পরিষেবাটি চালাবেন এমন কোডটি পরিষেবাটিতে রাখবেন:
using Microsoft.Extensions.Hosting;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApp
{
public class Worker : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
//do some operation
}
public override Task StartAsync(CancellationToken cancellationToken)
{
return base.StartAsync(cancellationToken);
}
public override Task StopAsync(CancellationToken cancellationToken)
{
return base.StopAsync(cancellationToken);
}
}
}
যখন সবকিছু প্রস্তুত হয়ে যায় এবং অ্যাপ্লিকেশনটি সফলভাবে নির্মিত হয়, আপনি নিম্নলিখিত কমান্ডটি সহ উইন্ডোজ পরিষেবা হিসাবে আপনার কনসোল অ্যাপ্লিকেশনটি ইনস্টল করতে sc.exe ব্যবহার করতে পারেন :
sc.exe create DemoService binpath= "path/to/your/file.exe"