2008-10-14 3 views

ответ

7

Вы должны взглянуть на эту запись в блоге Александра Мейерс: Size of SPWeb based on its Folders and Files

Это обеспечивает умный способ нахождения размера с SPWeb или SPFolder перебирая его содержание.

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

В статье больше не существует, и код отсутствует GetFoldersize. Здесь обсуждается этот код: http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/0d066e9b-f6b9-49bc-b741-fcf7abdc854b – 2011-06-27 22:09:28

0

Для тех, кто возвращается к этому вопросу, здесь отсутствует метод:

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; 
} 
Смежные вопросы