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 ответов

36 просмотров

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

hangfire / quatrz

Makima
hangfire / quatrz

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта