Я не полагаюсь на Windows PrintQueue для управления заданиями — Windows видит необработанное задание печати только тогда, когда мое приложение его отправляет.
Проблема:
Если приложение простаивает или свернуто в течение ~10 минут, печать автоматически останавливается:
- Моя внутренняя очередь печати продолжает обрабатывать задания.
- Задания помечаются как «Обработка» и отправляются по пути кода принтера.
- Задание необработанной печати появляется в Windows, но остается в состоянии ожидания.
- Исключение не создается.
- Принтер онлайн и печатает из других приложений.
- Перезапуск только моего приложения немедленно восстанавливает печать.
Среда:
- Рабочий стол Windows
- WPF (.NET)
- Термопринтер ESC/POS
- Длительно работающая фоновая служба с использованием таймеров
Если приложение бездействует или свернуто в течение примерно 10 минут, печать перестает работать:
- Задание печати создано успешно
- Оно появляется в очереди печати
- Задание никогда не печатается (не приостанавливается, нет ошибок) — отображается в ожидании.
- В приложении не создается никаких исключений
- Если я перезапущу приложение, печать заработает немедленно
Что работает:
- Перезапуск приложения (не требуется перезагрузка системы или принтера)
- Возврат приложения на передний план
- Повторная попытка печати
- Принтер подключен к сети и реагирует
- Рабочий стол Windows
- WPF (.NET)
- Термальный принтер
- Приложение продолжает работать (не приостановлено и не закрыто)
Подробнее здесь: https://stackoverflow.com/questions/798 ... r-after-ap
Мобильная версия