사용자가 내 응용 프로그램을 종료 할 때, 그때 나는 내가 다음을 수행 내가 (즉 ... 서버에서 분리 사용자 데이터를 저장)을 가지고 있고 몇 가지 작업을 수행합니다Process.GetCurrentProcess()를 사용하면 안되는 이유는 무엇입니까? WinForm 응용 프로그램을 종료하려면 Kill()을 사용 하시겠습니까? 지금
- booleans를 사용하여 모든 메인 루프를 종료하십시오.
- 여전히 실행중인 스레드 (일반적으로 내 서버 폴링 스레드)를 중단하십시오.
- Application.Exit(); ,
이 종료 몇 초를 소요되며, 실제 목적을 제공하지 않습니다 (모든 것이 이미 서버에 저장되기 때문에, 난 정말이 무슨 상관 없어) 내가 대신를 사용하는 경우
I
System.Diagnostics.Process.GetCurrentProcess().Kill();
왜 난 그냥 내 프로세스를 종료하고 CLR이 응용 프로그램 도메인을 삭제하지 것입니다 : 내가 생각할 수없는 단점으로 즉시 종료있어?
공유 리소스 (IO 파일 처리기 등)를주의해서 폐기하는 것이 중요하므로 (답변하지 마십시오 :) :) 일단 완료되면 내 앱을 완전히 종료해야 할 실질적인 이유가 있습니까?
이 경우 최종 블록이 처리되지 않아 다른 누군가가 코드를 유지 보수 할 때 예기치 않은 버그가 발생할 수 있습니다. –
@Hosam : 좋은 지적입니다. upvoted 수 있도록 응답으로 게시하지 않는 이유는 무엇입니까? – Brann
@Brann : 완료. 제안 해 주셔서 감사합니다. –