170 похожих чатов

Привет, я уже приходил сюда пару раз с проблемой которую

до конца так и не решил.

В чем суть: .NET 7.0, необходимо сделать Worker Service чтобы нужный мне функционал крутился ПОСТОЯННО в бэкграунде и через пайпы общался с UI в двухстороннем порядке.

Но также очень важный момент чтобы он АВТОМАТИЧЕСКИ запускался после того как система включается. Т.е после перезагрузок системы и тд

Мое решение:
Я создал обычный BackgroundWorker как учат гайды, могу также вызывать его с UI когда надо, вот как выглядит код:

public class MyBackgroundService : BackgroundService{
private NamedPipeServerStream _pipeServer;
protected override async Task ExecuteAsync(CancellationToken stoppingToken) {
_pipeServer = new NamedPipeServerStream("MyPipe", PipeDirection.Out); await _pipeServer.WaitForConnectionAsync(stoppingToken);
var writer = new StreamWriter(_pipeServer);
await writer.WriteLineAsync("Message from Service"); await writer.FlushAsync();
}
public override async Task StopAsync(CancellationToken cancellationToken) {
await _pipeServer.DisposeAsync(); await base.StopAsync(cancellationToken);
}
private async Task DeviceUpdate() {
}}

Вызов с UI после логина пользователя:

Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) => { services.AddHostedService<MyBackgroundService>(); })

Каким образом мне сделать чтобы этот бэкграунд сервис всегда крутился в фоне независимо от UI, после включения системы и желательно чтобы без админ прав процесс нельзя было убить ( но это уже не так важно, мне главное именно автозапуск после старта )?

Чатгпт мне советовал два варианта:
1. Через установщик во время первичной установки
2. В рантайме при запуске приложения или определенных его состояний

Я попытался во второй вариант с добавлением задачи в Windows Task Scheduler, но даже с админ правами мне виндовс не разрешает это делать.

Первый вариант тоже не совсем понятен. Я пытался инсталлятор делать через MSIX Packaging Tool сразу из окна Visual Studio, но там нет опций с конфигурацией приложения перед установкой. Щас смотреть пытаюсь в сторону WiX Toolset и Microsoft Installer Extension: https://learn.microsoft.com/en-us/dotnet/core/extensions/windows-service-with-installer?tabs=wix
Но все равно не особо понятно каким образом я могу сделать так чтобы бэкграунд сервис всегда крутился независимо от UI ? Помогите пожалуйста в какую сторону мне копать, спасибо

P.S: это не малварь, а попросту MDM приложение для контроля корпоративных устройств чтобы юзеры не делали лишних действий которые могут навредить

5 ответов

15 просмотров

Что то такое попробовать запускал

hangfire / quatrz

Makima
hangfire / quatrz

ему надо чтобы у него сервис автоматом запускался а не шедулер

Denisio 🇬🇪
ему надо чтобы у него сервис автоматом запускался ...

веб апп с хенгфайром или кварцом + сервер настроенный на автостарт

Тебе надо создать приложение виндовс сервис и зарегать его в системе

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Кто создает тут ботов для телеграмм групп ?
Antskup
8
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
How to create an OS in C? what to study?
Linus
18
Карта сайта