Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Представляет коллекцию объектов SPSite или семейств веб-сайтов, связанные с конкретной веб-приложения, включая веб-сайта верхнего уровня и всех его дочерних сайтах. Каждый объект SPSite или семейства веб-сайтов, представлен в пределах SPSiteCollection объекты, состоит из коллекции всех семейств веб-сайтов в веб-приложении.
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.Administration.SPSiteCollection
Пространство имен: Microsoft.SharePoint.Administration
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
'Декларация
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPSiteCollection _
Inherits SPBaseCollection _
Implements IEnumerable(Of SPSite), ICollection, _
IEnumerable
'Применение
Dim instance As SPSiteCollection
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPSiteCollection : SPBaseCollection,
IEnumerable<SPSite>, ICollection, IEnumerable
Используйте свойство Sites класса SPWebApplication для возврата коллекции объектов SPSite , представляющих все семейства сайтов для веб-приложения. Создание семейства веб-сайтов, используйте метод Add .
Используйте индексатор возвращает объект одного сайта из коллекции. Например если коллекции присваивается переменной с именем mySites, используйтеindexmySites[] в C# илиindexmySites() в Visual Basic, где index является номер индекса объекта сайта в семействе сайтов или отображаемое имя сайта.
Следующий пример выполняет итерацию всех семейств веб-сайтов в пределах текущего веб-приложения, чтобы добавить элемент в список извещений верхнего уровня для каждого элемента, который был добавлен в группу.
Dim webApp As SPWebApplication = SPContext.Current.Site.WebApplication
Dim siteCollections As SPSiteCollection = webApp.Sites
Dim siteCollection As SPSite
For Each siteCollection In siteCollections
Dim changes As SPChangeCollection = siteCollection.GetChanges()
Dim change As SPChange
For Each change In changes
If change.ChangeType = SPChangeType.MemberAdd Then
Dim webSite As SPWeb = siteCollection.OpenWeb()
Dim groups As SPGroupCollection = webSite.Groups
Dim list As SPList = webSite.GetList("Lists/Announcements")
Dim items As SPListItemCollection = list.Items
Dim group As SPChangeGroup = CType(change, SPChangeGroup)
Dim item As SPListItem = items.Add()
item("Title") = "User added to " +
groups.GetByID(group.Id).Name + " on " +
change.Time.ToString()
item.Update()
End If
Next change
Next siteCollection
SPWebApplication webApp = SPContext.Current.Site.WebApplication;
SPSiteCollection siteCollections = webApp.Sites;
foreach (SPSite siteCollection in siteCollections)
{
SPChangeCollection changes = siteCollection.GetChanges();
foreach (SPChange change in changes)
{
if (change.ChangeType == SPChangeType.MemberAdd)
{
SPWeb webSite = siteCollection.OpenWeb();
SPGroupCollection groups = webSite.Groups;
SPList list = webSite.GetList("Lists/Announcements");
SPListItemCollection items = list.Items;
SPChangeGroup group = (SPChangeGroup)change;
SPListItem item = items.Add();
item["Title"] = "User added to " +
groups.GetByID(group.Id).Name + " on " +
change.Time.ToString();
item.Update();
}
}
}
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.