Класс SPVirtualServerCollection

Примечание. Этот API устарел.

Устаревший атрибут. Вместо этого используйте класс SPWebApplicationCollection . (В Windows SharePoint Services 2.0класса SPVirtualServerCollection представленного коллекцию объектов SPVirtualServer и сохраняется для обеспечения обратной совместимости.)

Иерархия наследования

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

Пространство имен:  Microsoft.SharePoint.Administration
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
<ObsoleteAttribute("The SPVirtualServerCollection class is deprecated.  Use an SPWebApplicationCollection instead.",  _
    False)> _
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
Public NotInheritable Class SPVirtualServerCollection _
    Inherits SPBaseCollection
'Применение
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

Замечания

Используйте свойство VirtualServers класса SPGlobalAdmin для возврата всех виртуальных серверов в развертывании Microsoft SharePoint Foundation.

Чтобы создать административного виртуального сервера, используйте метод CreateAdminVirtualServer класса SPGlobalAdmin . Чтобы расширить виртуальный сервер, используйте один из методов ExtendVirtualServer класса SPGlobalAdmin .

Используйте индексатор для возврата одного виртуального сервера из коллекции. Например если коллекции присваивается переменной с именем myVirtualServers, используйтеindexmyVirtualServers[] в C# илиindexmyVirtualServers() в Visual Basic .NET, где index — номер индекса сервера в коллекции.

Примеры

В следующем примере кода итерацию по коллекции виртуальных серверов в развертывании и расширяет виртуальных серверов, которые не были расширены с SharePoint Foundation и создается сайт верхнего уровня для каждого из них.

В этом примере предполагается наличие административного дайджеста формы в файл .cs или .vb. Сведения о проверки безопасности содержатся проверки безопасности и внесения публикации для обновления данных.

[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);
        }
    }
}

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPVirtualServerCollection

Пространство имен Microsoft.SharePoint.Administration