SPSiteCollection-Klasse
Stellt eine Auflistung von Objekten SPSite oder Websitesammlungen, die eine bestimmte Webanwendung, einschließlich einer Website auf höchster Ebene und deren Unterwebsites zugeordnet sind. Jede SPSite -Objekt oder die Websitesammlung, wird in einer SPSiteCollection -Objekten, die aus der Auflistung aller Websitesammlungen in der Webanwendung besteht dargestellt.
Vererbungshierarchie
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.Administration.SPSiteCollection
Namespace: Microsoft.SharePoint.Administration
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPSiteCollection _
Inherits SPBaseCollection _
Implements IEnumerable(Of SPSite), ICollection, _
IEnumerable
'Usage
Dim instance As SPSiteCollection
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPSiteCollection : SPBaseCollection,
IEnumerable<SPSite>, ICollection, IEnumerable
Hinweise
Verwenden Sie die Sites -Eigenschaft der SPWebApplication -Klasse, um eine Auflistung von SPSite -Objekten zurückzugeben, die alle Websitesammlungen für eine Webanwendung darstellen. Verwenden Sie die Add -Methode, um eine Websitesammlung zu erstellen.
Verwenden Sie Indexerstellung, um einen einzelnen Standort-Objekt aus der Auflistung zurückzugeben. Verwenden Sie beispielsweise, wenn die Auflistung einer Variablen mit dem Namen mySiteszugewiesen ist, mySites[index] in c# oder mySites(index) in Visual Basic index entweder die Indexnummer des websiteobjekts in der Auflistung oder den Anzeigenamen der Website entspricht.
Beispiele
Das folgende Beispiel durchläuft alle Websitesammlungen in der aktuellen Webanwendung, um einen Eintrag zur Liste Ankündigungen auf oberster Ebene für jedes Mitglied hinzuzufügen, die zu einer Gruppe hinzugefügt wurde.
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();
}
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.