Partager via


SPSite - Classe

Représente une collection de sites dans une application Web, y compris un site Web de niveau supérieur et tous ses sous-sites. Chaque objet SPSite , ou une collection de sites, est représentée dans un objet SPSiteCollection qui se compose de la collection de toutes les collections de sites dans l'application Web.

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.SPSite

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Class SPSite _
    Implements IDisposable
'Utilisation
Dim instance As SPSite
public class SPSite : IDisposable

Remarques

Pour instancier un objet SPSite pour une collection de sites spécifique sur une page ASP.NET, ou pour une collection de sites spécifique dans une application de console, utilisez le constructeur SPSite comme suit :

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

Dans une application ASP.NET, vous pouvez utiliser la propriété Site de la classe SPContext pour renvoyer un objet SPSite qui représente la collection de sites actuelle, comme suit :

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

Utilisez la propriété Sites de la classe SPWebApplication pour renvoyer un objet SPSiteCollection qui représente la collection de collections de sites dans une application SharePoint Web. Utilisez un indexeur pour retourner une collection de sites à partir de la collection. Par exemple, si la collection de collections de sites est affectée à une variable nommée oSiteCollections, utilisez oSiteCollections[index] en c# ou oSiteCollections(index) dans Visual Basic, où index est le nom complet ou le numéro d'index de la collection de sites dans la collection.

Certains objets implémentent l'interface IDisposable , et vous devez éviter la conservation de ces objets en mémoire une fois qu'ils ne sont plus nécessaires. Si vous créez votre propre objet SPSite , vous pouvez utiliser la méthode Dispose pour fermer l'objet. Vous pouvez également plutôt implémenter une instruction using afin que le .NET Framework common language runtime (CLR) déconnecte automatiquement la mémoire qui est utilisée pour stocker la collection de sites comme suit :

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

Toutefois, si vous avez une référence à une ressource partagée, tels que lorsque l'objet est fourni par la méthode GetContextSite dans un composant WebPart, procédez comme pas utiliser le des méthodes pour fermer l'objet. À l'aide de le des méthodes sur une ressource partagée provoque une erreur de violation D'accès se produise. Dans les scénarios où vous avez une référence à une ressource partagée, au lieu de cela laisser Microsoft SharePoint Foundation ou votre application « Portal » gérer l'objet.

Pour plus d'informations sur les bonnes pratiques de codage, voir Disposing Objects.

Important

Si vous installez Infrastructure Update for Windows SharePoint Services 3.0 (KB951695), des solutions personnalisées peuvent échouer s'ils le modèle objet SharePoint lorsque l'emprunt d'identité est suspendue. Si vous utilisez l'authentification Windows et votre code appelle le modèle objet SharePoint à partir d'un processus de travail Internet Information Services (IIS), la demande doit emprunter l'identité de l'appelant de l'utilisateur. SharePoint Foundation Configure ASP.NET pour emprunter l'identité de l'utilisateur appelant automatiquement, mais votre code peut échouer brusquement si suspendre l'emprunt d'identité, par exemple, en appelant la fonction RevertToSelf de l'API Windows ou en appelant la méthode System.Security.Principal.WindowsIdentity.Impersonate et en passant IntPtr.Zero en tant que la valeur du paramètre d'émission de jeton utilisateur. Même que si votre code ne revert pas explicitement à self, il peut être appelé par ASP.NET après que elle revient à self, telle qu'arrive lorsque vous implémentez un fournisseur de chemin d'accès virtuel. Si votre code ne pas emprunter l'identité l'utilisateur appelant, il ne peut pas fonctionner correctement.

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

SPSite - Membres

Microsoft.SharePoint - Espace de noms