Auf Englisch lesen

Freigeben über


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

[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.

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.

Siehe auch

Referenz

SPSiteCollection-Member

Microsoft.SharePoint.Administration-Namespace