SharePoint, how do you programatically determine the storage size of a SPWeb?

我是研究僧i 提交于 2019-12-10 05:46:41

问题


Not of the site collection itself, but the individual SPWeb's.


回答1:


You should take a look at this blog entry by Alexander Meijers : Size of SPWeb based on its Folders and Files

It provides a clever way of finding the size of an SPWeb or SPFolder by iterating through his content.

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



回答2:


For anyone who comes back to this question, here is the missing method:

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


来源:https://stackoverflow.com/questions/201368/sharepoint-how-do-you-programatically-determine-the-storage-size-of-a-spweb

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!