배경 : Windows XP 및 Windows PosReady 2009 PC에서 실행되는 .Net 3.5 WPF "프리즘"기반 응용 프로그램이 있습니다. 이 응용 프로그램은 매일 밤 ("shutdown.exe"에 대한 C# 호출을 통해) 종료되고 아침에 Wake-on-LAN을 통해 새롭게 부팅되는 PC에서 실행됩니다. 응용 프로그램은 터치 기반 (ELO 터치 스크린 사용)이며 마우스 나 키보드가 연결되어 있지 않으며 사용자는 Windows에 액세스 할 수 없습니다.WPF 응용 프로그램 오류 및 .Net Framework 복구
: 우리는 두 가지 중 하나가 발생하는 문제를 산발적으로 봅니다. 응용 프로그램이 제대로로드되지 않는 것처럼 보이거나 빈 흰색 폼이 표시되거나 터치에 대한 응답이 중지됩니다. Google의 (log4net) 로그를 살펴보면 두 가지 경우에서 터치 이벤트를 처리하고 로그 아웃하고 있음을 알 수 있습니다. 종종 이것은 뷰를 전환 할 때 발생하는 것으로 보이며 Prism RegionManager가 제거하고 뷰를 적절하게 추가하는 로그에서도 볼 수 있습니다.
문제 해결 : 응용 프로그램이 Clonezilla 적용 이미지를 사용하여 약 ~ 100 PC를에 실행되고 이 산발적으로 발생합니다. 모든 PC에서 그런 일이 일어나지 않고 기록 된 예외 나 이벤트 표시기에 문제가 있음을 나타내지 않으므로 PC 및 OS 수준의 더 많은 수정이 필요합니다. 특히 우리는 단기간에 성공적으로 응용 프로그램과 PC를 다시 시작하려고 시도했습니다. 즉, 이러한 응용 프로그램이 다시 시작된 후에 응용 프로그램이 제대로 작동하지 않는 경우가 종종 있습니다. 우리는 또한 응용 프로그램이 어떻게 든 손상된 것으로 간주하고 성공적으로 제거하고 재설치했다고 가정합니다.
유일한 문제는 제공된 .Net 3.5 SP1 설치 관리자 패키지를 사용하여 .Net 프레임 워크를 복구하는 것입니다.
결론 : - 중 코드 또는 PC의 부팅/종료 절차를 통해이 이후 은 우리가 어떻게 든 GAC'd 프레임 워크 DLL을 손상되어 나타납니다, 다른 아무것도하지 않을 때 문제를 해결하는 것 같다.
질문 : 이 질문의 번호로 연결 : 우리가 더 문제의 원인을 식별 할 수있는 방법에
- 어떤 아이디어?
- 이 문제를 방지하기 위해 우리가 할 수있는 것에 대한 아이디어가 있습니까?
- 기본 이슈에 대한 아이디어가 있습니까?
도움 주셔서 감사합니다.
말하기 어렵다. 어떤 멀티 쓰레드가 진행되고 있습니까? GUI 스레드가 아닌 다른 이벤트가 발생 했습니까? – stmax
주어진 시간에 상당히 다른 스레드가 있습니다.주로 BackgroundWorker 객체로 만들어 지지만, 일부는 ThreadStart를 사용하여 명시 적으로 만들어진 Thread 객체입니다. 작업자는 일반적으로 수명이 짧으며 (작성, 실행, 파괴) 스레드는 일반적으로 장기간 실행됩니다 (응용 프로그램 수명 동안 시작됨). 프리즘 집합 이벤트는 GUI 스레드에서 발생합니다. –
이 기계에는 어떤 종류의 솔리드 스테이트 드라이브 하드웨어가 있습니까? 아니면 모두 저렴한 하드 드라이브로 실행되고 있습니까? 아야. –