Фон :
У меня есть приложение на основе .Net 3.5 WPF «Prism», работающее на ПК с Windows XP и Windows PosReady 2009. Приложение запускается на компьютерах, которые отключаются каждую ночь (с помощью вызова C # «shutdown.exe») и загружаются заново утром (через Wake-on-LAN). Приложение работает на сенсорной панели (с использованием сенсорных экранов ELO), мыши и клавиатуры не подключены, а пользователи не имеют доступа к Windows.
Issue :
Мы время от времени видим проблемы, когда происходит одна из двух вещей; либо приложение загружается неправильно, и мы видим пустую белую форму, либо оно перестает реагировать на прикосновения. Просматривая наши журналы (log4net), мы видим, что мы все еще обрабатываем сенсорные события и регистрируем их в обоих случаях. Часто это происходит при переключении представлений, и мы также видим в журналах, где Prism RegionManager соответствующим образом удаляет и добавляет представления.
Поиск и устранение неисправностей :
Приложение работает на ~ 100 ПК с использованием изображений, нанесенных с помощью Clonezilla, и это происходит только время от времени. Так как это происходит не на всех ПК, и в журнале событий нет исключений или каких-либо признаков, указывающих на проблему, мы прибегли к большему количеству исправлений на уровне ПК и ОС. В частности, мы попытались перезапустить приложение и ПК с случайным краткосрочным успехом - это означает, что иногда приложение будет работать правильно после этих перезапусков, но не более чем на несколько часов. Мы также работали в предположении, что приложение каким-то образом повреждено, и мы удалили и переустановили его, но безуспешно.
Единственное, что, по-видимому, решает проблему, - это исправление .Net framework с использованием прилагаемого пакета установщика .Net 3.5 SP1.
Заключение :
Поскольку это, кажется, решает проблему, когда больше ничего не происходит, кажется, что мы каким-то образом повреждаем библиотеку DLL GAC - либо с помощью кода, либо с помощью процедур загрузки / выключения на ПК.
Вопросы :
Это приводит к ряду вопросов:
- Есть идеи, как мы можем определить источник проблемы?
- Любые идеи о том, что мы можем сделать, чтобы предотвратить эту проблему?
- Любые идеи о том, что может быть основной проблемой?
Спасибо за любую помощь.