이전 파일을 정리해야하는 응용 프로그램의 일부분을 작성하지만 일부는 상당히 크기 때문에 일부 작업을 수행하기 위해 일부 BackgroundWorkers를 시작합니다.BackgroundWorker 및 대용량 파일 삭제
- 해당 파일에 어떤 일이 일어날 것, 그것은 잘못된 상태에 놀아 것입니다 : 나는 BackgroundWorker에 응용 프로그램 종료에에서는 FileInfo 개체에 File.delete를 호출을 호출하고 경우 내 질문은 무엇입니까?
- 응용 프로그램이 중단 되나요, 아니면 BGWorker가 활성 상태로 유지됩니까?
- 파일을 유효하지 않은 상태로 유지합니까?
- 이 경우 BackgroundWorker가 올바른 클래스입니까?
배경 작업자가 이러한 종류의 작업에 적합한 선택이라고 생각합니다. 아마 모든 질문에 답할 수는 없지만 여기에 몇 가지 답변이 있습니다. 배경 작업자가 다른 스레드를 실행하면 응용 프로그램이 멈추지 않습니다. 일단 백그라운드 작업자가 파일 처리를 시작하면 무효 상태가 될 수 있다고 생각합니다. 그래도 Task Parallel Library를 사용 해본 적이 있습니까? 기본적으로 똑같은 일을하지만 훨씬 쉬운 방법입니다. – qamar
응용 프로그램이 예기치 않게 종료되고 이러한 파일이 실제로 커다란 걱정이된다면 삭제 대기열을 노출하는 Windows 서비스를 만들 수 있습니다. 이것은 실제로 backgroundWorker 래퍼가됩니다. 파일을 삭제하려면 파일이 유효하지 않다고 생각하는 이유는 무엇입니까? 아니면 정말로 삭제되었는지 확인하고 싶습니까? – mrtig
그냥 실제로 대부분 사라 졌는지 확인하고 싶습니다. 예기치 않게 종료 될까봐 걱정하지 않지만 응용 프로그램 사용자가 삭제할 파일이 있다는 것을 모르고 응용 프로그램을 종료하기로 결정했을 수 있습니다. 가능한 한 투명하게 유지하고 싶습니다. – Craig