DisplaySettingsChanged SytemEvent NotFiring в IIS или WindowsService - PullRequest
0 голосов
/ 13 апреля 2020

SystemEvent for DisplayEventChanged не запускается в Asp. Net Базовый API после публикации в IIS, хотя работает нормально в visual studio или выполняется исполняемым файлом, но те же проблемы возникают, если запускаться как служба windows. может отследить проблему, почему события не запускаются через IIS или windows service

In Startup.cs

Регистрация событий



 public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            Microsoft.Win32.SystemEvents.DisplaySettingsChanged += Helper.Common.SystemEvents_DisplaySettingsChanged;

            Microsoft.Win32.SystemEvents.DisplaySettingsChanging += Helper.Common.SystemEvents_DisplaySettingsChanging;

        }

In Common.cs

main logi c, чтобы контроллер мог прочитать значение из stati c variable

public static class Common
    {
        public static bool SecondaryDisplay = false;

        public static void ToogleDisplaySettings()
        {
            if (SecondaryDisplay)
            {
                SecondaryDisplay = false;
            }
            else
            {
                SecondaryDisplay = true;
            }
        }

        public static void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
        {
            ToogleDisplaySettings();
            Console.WriteLine("Display settings have been changed.");
        }

        public static void SystemEvents_DisplaySettingsChanging(object sender, EventArgs e)
        {
            Console.WriteLine("Display settings are changing now...");
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...