문제

저는 MSVE를 사용하고 있으며 상단에 레이어로 표시하는 자체 타일이 있습니다.문제는 그 수가 너무 많고 네트워크 서버에 있다는 것입니다.특정 디렉토리에는 약 30,000개 이상의 파일이 있습니다.처음에는 Directory.GetFiles를 호출했지만 의사 실제 환경에서 테스트를 시작한 후에는 시간이 초과되었습니다.

이 많은 파일을 프로그래밍 방식으로 나열하고 반복하는 가장 좋은 방법은 무엇입니까?

편집하다:동료가 MS 인덱싱 서비스 사용을 제안했습니다.이 접근 방식을 시도해 본 사람이 있나요? 그리고 (어떻게) 효과가 있었나요?

도움이 되었습니까?

해결책

나는 과거에 단일 폴더에 있는 파일 수에 문제가 있는 전화 오디오 녹음을 사용하는 SAN 시스템에서 작업한 적이 있습니다. 해당 시스템은 약 5,000개(C#.Net 1.1의 응용 프로그램이 있는 Windows 2000 Advanced Server)에서 사용할 수 없게 되었습니다. 우리가 생각해낸 유일한 합리적인 해결책은 보다 합리적인 수의 파일이 있도록 폴더 구조를 변경하는 것이었습니다.흥미롭게도 Explorer도 시간 초과됩니다!

우리가 생각해낸 규칙은 구조를 몇 년, 몇 달, 며칠 단위로 나누는 구조였습니다. 그러나 이는 시스템과 디렉토리 구조를 제어할 수 있는지 여부에 따라 달라집니다.

다른 팁

확실히 그들을 나누었습니다.즉, 인덱싱 서비스에서 최대한 멀리 떨어져 있어야 합니다.

없음..NET은 그 양의 파일 자체를 정말 싫어하는 기본 Windows API 호출에 의존합니다.

로니가 말했듯이:그들을 나누십시오.

DOS를 사용할 수 있나요?

DIR /s/b > Files.txt

파일을 직접 색인화하거나 Google 데스크톱이나 코페르닉 이를 수행한 다음 해당 인덱스와 인터페이스합니다.나는 copernic이 색인에 있는 모든 파일을 검색하는 데 사용할 수 있는 API를 가지고 있으며 네트워크 드라이브 매핑도 지원한다는 것을 알고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top