SharePoint, как вы программно определяете размер хранилища SPWeb? - PullRequest
5 голосов
/ 14 октября 2008

Не самого семейства сайтов, а отдельных SPWeb.

Ответы [ 2 ]

7 голосов
/ 14 октября 2008

Вы должны взглянуть на эту запись в блоге Александра Мейерса: Размер SPWeb в зависимости от его папок и файлов

Предоставляет умный способ определить размер 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 голосов
/ 01 июля 2014

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

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;
}
...