Когда я запускаю его как консольное приложение, всплывающие сообщения отображаются, но не при запуске как служба.Может ли кто-нибудь мне помочь?
Важные моменты:
Program.cs
Код: Выделить всё
using Toast_Messages;
var host = Host.CreateDefaultBuilder(args)
.UseWindowsService(options => {
options.ServiceName = "Toast_Messages";
})
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService();
})
.Build();
host.Run();
Код: Выделить всё
namespace Toast_Messages;
public class Worker : BackgroundService
{
private readonly ILogger _logger;
public Worker(ILogger logger)
{
_logger = logger;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
HttpServer server = new HttpServer();
server.Start(_logger);
while (!stoppingToken.IsCancellationRequested)
{
if (_logger.IsEnabled(LogLevel.Information))
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
}
await Task.Delay(5000, stoppingToken);
}
server.Stop();
}
}
Код: Выделить всё
...
class HttpServer
{
private void PostMessage(string message)
{
...
var xmlToast = new Windows.Data.Xml.Dom.XmlDocument();
xmlToast.LoadXml(xToast.ToString());
_logger.LogInformation(xToast.ToString());
var toast = new ToastNotification(xmlToast);
ToastNotificationManager.CreateToastNotifier(DateTime.Now.ToString("dd.MM.yyyy - HH:mm:ss")).Show(toast);
}
}
...
Подробнее здесь: https://stackoverflow.com/questions/789 ... nteraction
Мобильная версия