나는 & 관리 팀에서 일하고 있으며 현재 디스크 공간에 문제가있어 사용자가 리소스를보다 효율적으로 관리하도록 권장하기 위해 할당량 관리 응용 프로그램을 만드는 작업이 주어졌습니다. 하드 할당량을 시행하십시오.C#의 파일 크기 모니터링
현재 사용자 공간의 모든 파일을 탐색하기 위해 아래 코드를 사용하여 사용중인 전체 공간을 검색합니다. C#에서이 작업을 수행 할 수있는 다른 방법이없는 곳에서 보았 듯이 각 파일의 크기가 줄어들고 총계가 만들어지는 동안 문제는 상당히 높은 오버 헤드가됩니다.
try
{
long dirSize = 0;
FileInfo[] FI = new DirectoryInfo("I:\\").GetFiles("*.*", SearchOption.AllDirectories);
foreach (FileInfo F1 in FI)
{
dirSize += F1.Length;
}
return dirSize;
}
그래서 나는이 작업을 수행하는 빠른 방법 또는 옵션은 FileSystemWatcher를 통해 사용 가능한 사용하는 동안 파일의 크기 변화를 모니터링하는 빠른 방법을 찾고 있어요. 현재 내가 생각할 수있는 유일한 것은 파일 위치와 각 파일의 크기를 포함하는 해시 테이블을 만드는 것입니다. 따라서 크기가 변경된 이벤트가 발생하면 이전 크기와 새 크기를 비교하고 합계를 업데이트 할 수 있습니다.
의견을 보내 주시면 대단히 감사하겠습니다.
'하드 쿼터 적용 안 함'에서 Windows 서버에 상당히 많은 디스크 할당량 감사 시스템이 있다는 사실을 알고 있습니까? –
디스크 공간을 추가 할 생각이십니까? 프로그래밍 작업의 하루 동안 수 테라 바이트의 스토리지를 쉽게 얻을 수 있습니다. –
1. 그래, 내 지역은 아니지만 정보를 얻었습니다. 이것은 사람들이 얼마나 많은 공간을 사용하고 있는지 보는 것보다 잔소리 시스템으로 파일 등을 삭제하도록 사용자를 유도하는 것입니다. 2. 예기치 않게 디스크 공간을 추가하는 것으로 간주되어 현재 다른 물건을위한 공간이 필요하기 때문에 새로운 SAN을 얻기 위해 자본금을 거치고 있습니다. 그러나 사용자가 동일한 폴더에 같은 파일의 4 개의 복사본을 가지고 있기 때문에 사용자가 과도한 사용을 인식하고 필요없는 파일을 제거하도록하는 것이 더 중요합니다. – manemawanna