2008-10-14 16 views

Respuesta

7

debería echar un vistazo a este artículo del blog de Alexander Meijers: Size of SPWeb based on its Folders and Files

Proporciona una forma inteligente de encontrar el tamaño de un SPWeb o SPFolder iterando a través de su contenido.

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

El artículo no existe más y el código no se encuentra GetFolderSize. Hay una discusión con ese código aquí: http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/0d066e9b-f6b9-49bc-b741-fcf7abdc854b –

+0

Ah, es bueno saberlo. ¡Gracias! –

0

Para cualquier persona que regresa a esta pregunta, aquí es el método que falta:

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; 
} 
Cuestiones relacionadas