SPSite-Klasse

Stellt eine Auflistung von Websites in einer Webanwendung, einschließlich einer Website auf höchster Ebene und aller Unterwebsites. Jede SPSite -Objekts oder Websitesammlung, wird in einem SPSiteCollection -Objekt dargestellt, die aus der Auflistung aller Websitesammlungen in der Webanwendung besteht.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.SPSite

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Class SPSite _
    Implements IDisposable
'Usage
Dim instance As SPSite
public class SPSite : IDisposable

Hinweise

Verwenden Sie ein SPSite -Objekt für eine bestimmte Websitesammlung auf eine ASP.NET-Seite, die oder für eine bestimmte Websitesammlung innerhalb einer Konsolenanwendung zur Instanziierung des Konstruktors SPSite wie folgt:

Dim oSiteCollection As New SPSite("Absolute_URL")
SPSite oSiteCollection = new SPSite("Absolute_URL");

In einer ASP.NET-Anwendung können Sie die Site -Eigenschaft des t: SPContext -Klasse ein SPSite -Objekt zurückzugeben, das die aktuellen Websitesammlung wie folgt darstellt:

Dim oSiteCollection As SPSite = SPContext.Current.Site
SPSite oSiteCollection = SPContext.Current.Site;

Verwenden Sie die Sites -Eigenschaft des t: SPWebApplication -Klasse, um ein SPSiteCollection -Objekt zurückzugeben, die die Auflistung der Websitesammlungen in einer SharePoint-Webanwendung darstellt. Verwenden Sie eine Indexerstellung, um eine einzelne Websitesammlung aus der Auflistung zurückzugeben. Beispielsweise, wenn die Auflistung der Websitesammlungen in eine Variable, die mit dem Namen oSiteCollectionszugewiesen ist, verwenden Sie oSiteCollections[index] in c# oder oSiteCollections(index) in Visual Basic index entweder den Anzeigenamen oder die Indexnummer der Websitesammlung in der Auflistung entspricht.

Bestimmte Objekte die IDisposable -Schnittstelle implementieren, und Sie müssen vermeiden, diese Objekte im Arbeitsspeicher beibehalten, wenn sie nicht mehr benötigt werden. Wenn Sie ein eigenes SPSite -Objekt erstellen, können Sie die Dispose -Methode verwenden, um das Objekt schließen. Sie können auch stattdessen eine Anweisung using implementieren, damit die .NET Framework common Language Runtime (CLR) automatisch den Arbeitsspeicher veröffentlicht werden, die an die gewünschte Websitesammlung wie folgt gespeichert:

Using oSiteCollection = New SPSite("Absolute_URL")
    ...
End Using
using (SPSite oSiteCollection = new SPSite("Absolute_URL")
{
    ...
}

Wenn Sie einen Verweis auf eine freigegebene Ressource wie beispielsweise wenn das Objekt, von der GetContextSite -Methode in einem Webpart angegeben wird, haben nicht verwenden Sie jedoch eine der Methoden zum Schließen des Objekts. Mit beiden Methoden für eine freigegebene Ressource verursacht einen Fehler Zugriffsverletzung auftritt. In Szenarien, in dem Sie einen Verweis auf eine freigegebene Ressource verfügen, stattdessen lassen Sie Microsoft SharePoint Foundation oder Ihre Portalanwendung Verwalten des Objekts.

Weitere Informationen zu bewährten Codierung finden Sie unter Disposing Objects.

Wichtig

Wenn Sie Infrastructure Update for Windows SharePoint Services 3.0 (KB951695)installieren, können benutzerdefinierte Lösungen fehl, wenn sie das SharePoint-Objektmodell aufzurufen, während Identitätswechsel angehalten wird. Wenn Sie die Windows-Authentifizierung verwenden und Ihre Code das SharePoint-Objektmodell von einem Arbeitsprozess (Internet Information Services, IIS ruft), muss die Anforderung Identität Identität des anrufenden Benutzers anzunehmen. SharePoint Foundation konfiguriert ASP.NET, um den aufrufenden Benutzer automatisch zu imitieren, aber Code kann unerwartet ausfallen, wenn Sie über Identitätswechsel--beispielsweise durch Aufrufen der RevertToSelf -Funktion der Windows-API oder durch Aufrufen der System.Security.Principal.WindowsIdentity.Impersonate -Methode und übergeben von IntPtr.Zero als der Wert des Parameters token Benutzer anhalten. Nachdem es auf Lernmodule zurückgesetzt wird, passiert auch wenn Ihr Code nicht explizit auf Lernmodule zurückgesetzt, es von ASP.NET aufgerufen werden kann wie beim Implementieren eines Anbieters für virtuelle Pfade. Wenn Ihr Code nicht den aufrufenden Benutzer imitieren, es funktionieren möglicherweise nicht ordnungsgemäß.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

SPSite-Member

Microsoft.SharePoint-Namespace