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