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...");
}
}