Partager via


SPVirtualServerCollection - Classe

Remarque : cette API est désormais obsolète.

Obsolète. Utilisez la classe SPWebApplicationCollection . (Dans Windows SharePoint Services 2.0, la classe SPVirtualServerCollection représenté une collection d'objets SPVirtualServer et est conservée pour la compatibilité ascendante.)

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.Administration.SPVirtualServerCollection

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

Syntaxe

'Déclaration
<ObsoleteAttribute("The SPVirtualServerCollection class is deprecated.  Use an SPWebApplicationCollection instead.",  _
    False)> _
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
Public NotInheritable Class SPVirtualServerCollection _
    Inherits SPBaseCollection
'Utilisation
Dim instance As SPVirtualServerCollection
[ObsoleteAttribute("The SPVirtualServerCollection class is deprecated.  Use an SPWebApplicationCollection instead.", 
    false)]
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel = true)]
public sealed class SPVirtualServerCollection : SPBaseCollection

Remarques

Utilisez la propriété VirtualServers de la classe SPGlobalAdmin pour renvoyer tous les serveurs virtuels dans le déploiement de Microsoft SharePoint Foundation.

Pour créer un serveur virtuel d'administration, utilisez la méthode CreateAdminVirtualServer de la classe SPGlobalAdmin . Pour étendre un serveur virtuel, utilisez une des méthodes de la classe SPGlobalAdminExtendVirtualServer .

Pour renvoyer un seul serveur virtuel à partir de la collection, utilisez un indexeur. Par exemple, si la collection est assignée à une variable nommée myVirtualServers, utilisez myVirtualServers[index] dans C# ou myVirtualServers(index) dans Visual Basic .NET, où index est le numéro d'index du serveur dans la collection.

Exemples

L'exemple de code suivant parcourt la collection de serveurs virtuels dans un déploiement et étend les serveurs virtuels qui n'ont pas été étendues avec SharePoint Foundation et crée un site de niveau supérieur pour chaque.

Cet exemple suppose la présence d'un digest du formulaire d'administration dans le fichier .cs ou .vb. Pour plus d'informations sur la validation de la sécurité, consultez Validation de la sécurité et rendre les publications à mise à jour de données.

[Visual Basic .NET]
Dim globalAdmin As New SPGlobalAdmin()
Dim vServers As SPVirtualServerCollection = globalAdmin.VirtualServers
Dim i As Integer

For i = 0 To vServers.Count - 1

    If vServers(i).State = SPVirtualServerState.NeedExtend Then

        Dim uri As New System.Uri(vServers(i).Url.ToString())

        Try

            Dim newSPServer As SPVirtualServer = globalAdmin.ExtendVirtualServer( _
                "Database_Server", _
                "Database_Name" + i.ToString(), _
                Nothing, Nothing, uri, False, "StsAppPool1", False, _
                Nothing, Nothing)

            Dim sites As SPSiteCollection = newSPServer.Sites

            sites.Add(newSPServer.Url.ToString(), "DOMAIN\User_Alias", "Email_Address")

            Catch ex As System.Exception

                Response.Write(ex.Message + ControlChars.Lf + ControlChars.Lf + ex.StackTrace)

        End Try

    End If

Next i
[C#]
SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
SPVirtualServerCollection vServers = globalAdmin.VirtualServers;

for (int i=0; i < vServers.Count; i++)
{

    if (vServers[i].State == SPVirtualServerState.NeedExtend)
    {
        System.Uri uri =  new System.Uri(vServers[i].Url.ToString() );

        try
        {
            SPVirtualServer newSPServer = globalAdmin.ExtendVirtualServer(
                "Database_Server",
                "Database_Name" + i.ToString(), 
                null, null, uri, false, "StsAppPool1", false, null, null);

            SPSiteCollection sites = newSPServer.Sites;

            sites.Add(newSPServer.Url.ToString(),"DOMAIN\\User_Alias","Email_Address");
        }

        catch (System.Exception ex)
        {
             Response.Write(ex.Message + "\n\n" + ex.StackTrace);
        }
    }
}

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

SPVirtualServerCollection - Membres

Microsoft.SharePoint.Administration - Espace de noms