SharePoint,如何以编程方式确定 SPWeb 的存储大小?

发布于 2024-07-07 09:45:05 字数 31 浏览 3 评论 0原文

不是网站集本身,而是各个 SPWeb 的网站集。

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

虐人心 2024-07-14 09:45:05

您应该看看 Alexander Meijers 的这篇博客文章:基于其文件夹和文件的 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;
}

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;
}
反目相谮 2024-07-14 09:45:05

对于任何回到这个问题的人,这里是缺少的方法:

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

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文