Clase SPSite
Representa una colección de sitios de una aplicación Web, incluidos un sitio Web de nivel superior y todos sus subsitios. Cada objeto de SPSite o una colección de sitios, se representa dentro de un objeto SPSiteCollection que consta de la colección de todas las colecciones de sitios en la aplicación Web.
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.SPSite
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Class SPSite _
Implements IDisposable
'Uso
Dim instance As SPSite
public class SPSite : IDisposable
Comentarios
Para crear una instancia de un objeto SPSite para una colección de sitios específica en una página ASP.NET o para una colección de sitios específica dentro de una aplicación de consola, usar el constructor SPSite la siguiente manera:
Dim oSiteCollection As New SPSite("Absolute_URL")
SPSite oSiteCollection = new SPSite("Absolute_URL");
Dentro de una aplicación de ASP.NET, puede usar la propiedad Site de la clase SPContext para devolver un objeto SPSite que representa la colección de sitios actual, en la siguiente manera:
Dim oSiteCollection As SPSite = SPContext.Current.Site
SPSite oSiteCollection = SPContext.Current.Site;
Utilice la propiedad Sites de la clase SPWebApplication para devolver un objeto SPSiteCollection que representa la colección de colecciones de sitios en una aplicación SharePoint Web. Utilice un indizador para devolver una colección de sitios de la colección. Por ejemplo, si la colección de colecciones de sitios se asigna a una variable denominada oSiteCollections, use oSiteCollections[index] en C# o oSiteCollections(index) en Visual Basic, donde index es el nombre para mostrar o el número de índice de la colección de sitios de la colección.
Ciertos objetos implementan la interfaz de IDisposable , y se debe evitar estos objetos en la memoria de retención después de que ya no sean necesarios. Si crea su propio objeto SPSite , puede usar el método Dispose para cerrar el objeto. Puede implementar una instrucción using también en su lugar para que .NET Framework common language runtime (CLR) libera automáticamente la memoria que se usa para almacenar la colección de sitios de la siguiente manera:
Using oSiteCollection = New SPSite("Absolute_URL")
...
End Using
using (SPSite oSiteCollection = new SPSite("Absolute_URL")
{
...
}
Sin embargo, si tiene una referencia a un recurso compartido, por ejemplo, cuando el objeto proporcionado por el método GetContextSite en un elemento Web, no use cualquiera de los métodos para cerrar el objeto. Uso de cualquiera de los métodos en un recurso compartido, producirá un error de infracción de acceso que se produzca. En los escenarios donde tiene una referencia a un recurso compartido, en lugar de ello permiten Microsoft SharePoint Foundation o el objeto de administración de la aplicación del portal.
Para obtener más información acerca de buenas prácticas de codificación, vea Disposing Objects.
Importante
Si instala Infrastructure Update for Windows SharePoint Services 3.0 (KB951695), soluciones personalizadas pueden producir un error si llama el modelo de objetos de SharePoint mientras se suspende la suplantación. Si usa la autenticación de Windows y el código llama al modelo de objetos de SharePoint de un proceso de trabajo de Internet Information Services (IIS), la solicitud debe suplantar la identidad del usuario que llama. SharePoint Foundation configura ASP.NET para suplantar el usuario que llama automáticamente, pero el código puede producir un inesperadamente error si suspender suplantación, por ejemplo, al llamar a la función RevertToSelf de la API de Windows, o por la llamada al método System.Security.Principal.WindowsIdentity.Impersonate y pasando de IntPtr.Zero como el valor del parámetro de token de usuario. Incluso que si el código explícitamente no volverá a sí mismo, se puede llamar por ASP.NET después de la asignación volverá a sí mismo, como ocurre al implementar un proveedor de la ruta de acceso virtual. Si el código no suplantar al usuario de llamada, es posible que no funcione correctamente.
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.