2008-10-14 12 views

Odpowiedz

7

Należy przyjrzeć się tym blogu Aleksandra Meijers: Size of SPWeb based on its Folders and Files

Zapewnia sprytny sposób na znalezienie rozmiaru SPWeb lub SPFolder przez iteracja jego zawartości.

private long GetWebSize(SPWeb web) 
{ 
    long total = 0; 

    foreach (SPFolder folder in web.Folders) 
    { 
     total += GetFolderSize(folder); 
    } 

    foreach (SPWeb subweb in web.Webs) 
    { 
     total += GetWebSize(subweb); 
     subweb.Dispose(); 
    } 

    return total; 
} 
+0

W artykule już nie istnieje, a kod brakuje GetFolderSize. Tutaj jest dyskusja z tym kodem: http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/0d066e9b-f6b9-49bc-b741-fcf7abdc854b –

+0

Ach, to dobrze wiedzieć. Dzięki! –

0

Dla każdego, kto wraca do tej kwestii, tutaj jest brakującym metoda:

private long GetFolderSize(SPFolder folder) 
{ 
    long folderSize = 0; 

    foreach (SPFile file in folder.Files) 
    { 
     folderSize += file.Length; 
    } 

    foreach (SPFolder subfolder in folder.SubFolders) 
    { 
     folderSize += GetFolderSize(subfolder); 
    } 

    return folderSize; 
} 
Powiązane problemy