Класс 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) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.