Как получить все семейства сайтов в веб-приложении

Я хочу перечислить все семейства сайтов в моем веб-приложении; цель состоит в том, чтобы перечислить все mysites, созданные пользователями.

Как это:

/members/sites/sqladmin
/members/sites/sqluser
/members/sites/sqluser1
/members/sites/sqluser2
/members/sites/user1

4 ответа

Для доступа ко всем семействам сайтов в данном веб-приложении вполне естественно свойство SPWebApplication.Sites. Чтобы получить доступ к определенному веб-приложению, вы можете использовать такой код:

SPWebApplication webApp = SPWebApplication.Lookup(new Uri("http://my-web-app-url:80/"));

(см. также MSDN здесь).

Использование SPWebApplication.Sites свойство для этого.

Используйте приведенный ниже код, чтобы программно получить все семейства сайтов веб-приложения. Параметр URL = URL веб-приложения.

        public DataTable GetAllSiteCollections(string url)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("URL");
            dt.Columns.Add("Name");
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                SPWebApplication webApplication = SPWebApplication.Lookup(new Uri(url));
                foreach (SPSite site in webApplication.Sites)
                {
                    dt.Rows.Add(new object[] { site.Url, site.Url });

                }

            });

            return dt;
        }

На домашней странице центра администрирования щелкните Управление приложениями.

На странице "Управление приложениями" в разделе "Коллекции сайтов" нажмите "Просмотреть все семейства сайтов".

На странице списка семейств сайтов перечислены все семейства сайтов в веб-приложении.

Другие вопросы по тегам