Должен ли Desktop-Extension: работать в фоновом режиме или завершить работу? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть приложение UWP с фоновым расширением рабочего стола, которое выполняет задачу, иногда оно не используется часами, иногда оно будет необходимо каждые несколько секунд.Мне нужно знать, если он не работает, следует ли его отключить с помощью Application.Current.Shutdown() или просто оставить работать и ждать следующего RequestReceived?Я не хочу тратить впустую ресурсы, но кажется, что неактивное расширение рабочего стола требует минимальных ресурсов, верно?

Единственная проблема с его отключением - это производительность: приложению UWP нужно дождаться ответа, поэтомуЕсть ли разница в производительности между запуском компонента и отправкой запроса по сравнению с простой отправкой запроса?

В любом случае, что здесь считается наилучшей практикой?

1 Ответ

0 голосов
/ 23 ноября 2018

Если ваш фоновый процесс расширения рабочего стола используется только для обработки запросов от вашего приложения UWP переднего плана, то лучше всего связать его время жизни с состоянием вашего приложения переднего плана.Вы можете управлять им из UWP, отправив сообщение на свой добавочный номер, чтобы отключить его, когда UWP переходит в состояние, в котором расширение больше не требуется (например, когда оно приостанавливается).

В целом это хорошоПрактика для расширения, чтобы отключить себя, когда соединение AppService закрывается.Вы можете сделать это, прослушивая событие ServiceClosed на экземпляре AppServiceConnection в вашем расширении.У меня есть пример, размещенный здесь («Обработать процесс выхода - сценарий № 2): https://stefanwick.com/2018/04/16/uwp-with-desktop-extension-part-3/

...