2013-03-05 2 views
5

매우 많은 양의 파일을 수정하고 만들고 삭제하는 프로젝트를 진행하고 있습니다. 여러 개의 FSW 내부 버퍼를 채우고 확장해야하는 경우 몇 가지 문제가 있습니다.FileSystemWatcher.Filter - 버퍼 전후에?

".Filter"필터가 BEFORE이거나 또는 AFTER인지를 온라인에서 상충하는 정보가 발견되었습니다. 검색된 변경 사항이 버퍼에 추가되었습니다. 실제로 이벤트 정렬을 가진 단일 FSW 이후에 더 많은 의미가있을 수 있습니다.

여기가 누구인지 확실히 압니까?

감사합니다.

답변

1

FileSystemWatcher은 네이티브 W32 메서드 ReadDirectoryChangesW을 래핑하여 파일 시스템 이벤트를 제공된 버퍼에 넣습니다. Filter 속성은 이벤트가 이미 파일 이벤트를보고할지 여부를 모니터에 알리는 개인 MatchPattern 메서드에서 버퍼링 된 후에 CLR 쪽에서 적용됩니다.

Filter 속성을 사용하면 현재 상황에 도움이되지 않을 수 있습니다. 오히려 버퍼 오버런을 피하기 위해 InternalBufferSize 값을 늘리는 것이 더 유리할 수 있습니다. 또는 이와 비슷한 문제를 해결하기 위해 네트워크에 다른 많은 파일 시스템 이벤트 모니터링 클래스가 있습니다.