Класс SPFarm
Представляет Microsoft SharePoint Foundation фермы.
Иерархия наследования
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Microsoft.SharePoint.Administration.SPPersistedUpgradableObject
Microsoft.SharePoint.Administration.SPFarm
Пространство имен: Microsoft.SharePoint.Administration
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
<GuidAttribute("674DA553-EA77-44a3-B9F8-3F70D786DE6A")> _
<UpgradableAttribute> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPFarm _
Inherits SPPersistedUpgradableObject _
Implements IBackupRestoreConfiguration, IBackupRestore, IMigratable
'Применение
Dim instance As SPFarm
[GuidAttribute("674DA553-EA77-44a3-B9F8-3F70D786DE6A")]
[UpgradableAttribute]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPFarm : SPPersistedUpgradableObject, IBackupRestoreConfiguration,
IBackupRestore, IMigratable
Замечания
Объект SPFarm является верхний узел в объектной модели Расширяемая конфигурация, которая предназначена для взаимодействия с хранилищем данных конфигурации. Он содержит глобальные параметры для всех серверов, служб и решений, которые устанавливаются в ферме серверов. Используйте свойство Servers, Servicesили Solutions для получения этих семейств сайтов.
Для доступа к текущий объект фермы серверов, можно использовать члены на SPFarm.Local. Например чтобы вернуть объект SPServiceCollection , который представляет коллекцию служб фермы серверов, используйте SPFarm.Local.Services. Кроме того можно использовать свойство Farm классы, производные от класса SPPersistedObject , или свойство Farm класса SPSolution , можно использовать для получения текущего объекта или решения фермы серверов.
Примеры
В следующем примере регистрируется определение настраиваемого задания на каждом веб-приложения в текущей ферме серверов.
Dim farm As SPFarm = SPFarm.Local
Dim service As SPWebService = farm.Services.GetValue < SPWebService > ""
Dim webApp As SPWebApplication
For Each webApp In service.WebApplications
Dim job As SPJobDefinition
For Each job In webApp.JobDefinitions
If job.Name = "MyCustomJobDefinitionName" Then
j.Delete()
End If
Next job
Dim newJob As New MyCustomJobDefinition("MyCustomJobDefinitionName", webApp)
Dim schedule As SPSchedule = SPSchedule.FromString("every 5 minutes between 0 and 59")
newJob.Schedule = schedule
newJob.Update()
Next webApp
SPFarm farm = SPFarm.Local;
SPWebService service = farm.Services.GetValue<SPWebService>("");
foreach (SPWebApplication webApp in service.WebApplications)
{
foreach (SPJobDefinition job in webApp.JobDefinitions)
{
if (job.Name == "MyCustomJobDefinitionName")
{
j.Delete();
}
}
MyCustomJobDefinition newJob = new
MyCustomJobDefinition("MyCustomJobDefinitionName", webApp);
SPSchedule schedule = SPSchedule.FromString("every 5 minutes between 0 and 59");
newJob.Schedule = schedule;
newJob.Update();
}
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.