Drno, обычный проприетарный клиент с бесплатной подпиской. Вряд ли какие-нибудь коммерческие vpn клиенты предоставляют CLI. Проблема не в том когда завершится служба. Все службы отключаются после завершения сценариев групповой политики. Просто Windows разрывает сетевые подключения.
chupasaurus, повторюсь проблема не в управляющей программе (клиенте VPN). Если страндартными средствами windows создать соединения PPTP, L2TP или IKEv2, то они тоже разрываются.
Dimonchik , вообще, логично ) Но с моим vpn клиентом так не сделать. Он управляется только через GUI. Но проблема не связана клиентом. Со встроенным в windows та же фигня. Почему-то винда перед выключением ПК вырубает все соединения кроме локальной сети. Мне кажется такое поведение определяется каким-то параметром... ХЗ каким.
Drno , но Acronis и AOMEI Backuppers как-то же это делают... Должен быть какой-то метод API, который могут вызывать службы в процессе своего завершения...
Илья лук , cпс, но не то... Групповая политика для "секундных" скриптов. Мне нужны минуты. Выяснил, что "приостановить" выключение\перезагрузку можно своей службой, с помощью перехвата уведомления "preshutdown". Добился того, что пока служба не завершит все нужные мне операции, на синем экране висит "Перезагрузка". Но как вместо этого вывести сообщение по типу: «AOMEI Backupper is in progress, please wait...»?
VoidVolker, cпс, но не то... Выяснил, что "приостановить" выключение\перезагрузку можно своей службой, с помощью перехвата уведомления "preshutdown". Добился того, что пока служба не завершит все нужные мне операции, на синем экране висит "Перезагрузка". Но как вместо этого вывести сообщение по типу: «AOMEI Backupper is in progress, please wait...»?
Следует различать библиотеки и фреймворки. Библиотеки, да, это хорошо. А фреймворки в большей степени просто удобны работодателям. Эдакая работа по стандарту, шаблону. Безболезненно проект можно перекидывать между разработчиками, да и самих разработчиков менять как перчатки.
MaxKorz, только вот в програмировании водитель это пользователь сайта/программы. Простому обывателю действительно не нужно знать как там всё устроено. Но не разработчику! Он собирает машину, пусть даже и использует готовые детали. А из-за таких как вы, получаются всякие тазики и уазики.
Astrohas, При какой-нибудь ошибке, переподключиться? Интересный у вас подход... А что вы имеете в виду под переподключением пула при ошибке или таймауте. В моем понимании пул это массив соединений. При необходимости поток "взял" себе одно из многих и безопасно с ним работает. При завершении работы с соединением, оно снова становится доступным в пуле.
Но, например, соединение с MySQL не является потокобезопасным. В случае если приложение многопоточное, то возникают сложности. Синхронизация соединения между потоками это неоправданно сложно, т.е. оно того не стоит. И в данном случае единственный вариант - пул соединений?