c# - Sharepoint c# 检索所有站点和子站点

标签 c# sharepoint

我正在尝试检索 Sharepoint 中的所有网站和子网站,但访问被拒绝。

我阅读了有关使用 GetSubwebsForCurrentUser() 属性的信息,但我收到了相同的消息。

我的代码是下一个

            foreach (SPWebApplication webApp in SPWebService.ContentService.WebApplications)
            {                    
                foreach (SPSite siteCollection in webApp.Sites)
                {
                    foreach(SPWeb web in siteCollection.RootWeb.GetSubwebsForCurrentUser())
                    {
                       dropDownSite.Items.Add(web.Url);
                    }


                }
            }

我需要帮助!谢谢!

最佳答案

您可能需要调用 SPSecurity.RunWithElevatedPrivileges(delegate())

如果你愿意,你可以做一个内联委托(delegate),比如:

SPSecurity.RunWithElevatedPrivileges(delegate() 
{
    foreach (SPWebApplication webApp in SPWebService.ContentService.WebApplications)
    {                    
        foreach (SPSite siteCollection in webApp.Sites)
        {
            foreach(SPWeb web in siteCollection.RootWeb.GetSubwebsForCurrentUser())
            {
                 dropDownSite.Items.Add(web.Url);
            }
        }
    }
});

关于c# - Sharepoint c# 检索所有站点和子站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5637872/

相关文章:

multithreading - SharePoint 和线程安全

c# - C# 中的开源 Torrent 客户端

c# - 从数据集中的数据表中删除所有行

c# - 使用 Serilog .NET Core 进行日志记录不输出

sharepoint - 对于 WSS 4.0/SharePoint 2010,哪些开发人员功能最让您兴奋?

javascript - 使 data-app-id 在 yammer javascript SDK 中可配置

sharepoint - 学习分享点

javascript - 使用 JavaScript 在 SharePoint 库中创建文件夹结构

c# - 为什么C#方法生成重复的随机字符串

c# - EpiServer DynamicDataStore LINQ 语句中的 sql 语法不正确