SPService-Klasse
Stellt einen farmweite Dienst.
Vererbungshierarchie
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Microsoft.SharePoint.Administration.SPPersistedUpgradableObject
Microsoft.SharePoint.Administration.SPService
Namespace: Microsoft.SharePoint.Administration
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
<GuidAttribute("DACA2A15-B9B5-43da-BEA3-6B75FBE3A883")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPService _
Inherits SPPersistedUpgradableObject
'Usage
Dim instance As SPService
[GuidAttribute("DACA2A15-B9B5-43da-BEA3-6B75FBE3A883")]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPService : SPPersistedUpgradableObject
Hinweise
Wenn den übergeordnete Dienst, der eine Dienstinstanz zurückgeben möchten, verwenden Sie die Service -Eigenschaft der SPServiceInstance -Klasse. Verwenden Sie die Services -Eigenschaft der SPFarm -Klasse, um ein SPServiceCollection -Objekt zurückzugeben, die die Auflistung von Diensten in der Serverfarm darstellt. Verwenden Sie eine Indexerstellung zum Zurückgeben eines einzelnen Diensts aus der Auflistung, die mit der GUID, die den Dienst identifiziert. Verwenden Sie beispielsweise, wenn die Auflistung einer Variablen mit dem Namen myServiceszugewiesen ist, myServices[index] in c# oder myServices(index) in Visual Basic index die GUID entspricht, die den Dienst identifiziert.Um einen einzelnen Dienst nach Namen aus der Auflistung abrufen möchten, verwenden Sie die GetValue -Methode. Verwenden Sie beispielsweise, wenn die Auflistung einer Variablen mit dem Namen myServiceszugewiesen ist, myServices.GetValue<ServiceType>(name) in c# oder myServices.GetValue(ServiceType)(name) in Visual Basic ServiceType entspricht, dass der Typ des Dienstes und name der Name ist, die den Dienst identifiziert.
Beispiele
Im folgenden Beispiel wird den Timer Jobs Verlauf für jeden Dienst in der Farm durchläuft und erneutes Ausführen der alle Zeitgeberaufträge, die in der letzten Stunde Fehler aufgetreten sind.
Dim oneHourAgo As DateTime = DateTime.UtcNow.AddHours(-1)
Dim rerunJobIds As List(Of Guid) = New List(Of Guid)()
For Each service As SPService In SPFarm.Local.Services
For Each entry In service.JobHistoryEntries
' stop if the entry didn't occur in the last hour
If entry.EndTime < oneHourAgo Then
Exit For
End If
If entry.Status = SPRunningJobStatus.Failed And _
Not rerunJobIds.Contains(entry.JobDefinitionId) Then
Dim job As SPJobDefinition = SPFarm.Local.GetObject( _
entry.JobDefinitionId)
If Not job Is Nothing Then
job.RunNow()
' don't rerun the same job twice
rerunJobIds.Add(entry.JobDefinitionId)
End If
End If
Next
Next
DateTime oneHourAgo = DateTime.UtcNow.AddHours(-1);
List<Guid> rerunJobIds = new List<Guid>();
foreach (SPService service in SPFarm.Local.Services)
{
foreach (SPJobHistory entry in service.JobHistoryEntries)
{
// stop if the entry didn't occur in the last hour
if (entry.EndTime < oneHourAgo)
break;
if (entry.Status == SPRunningJobStatus.Failed &&
!rerunJobIds.Contains(entry.JobDefinitionId))
{
SPJobDefinition job = SPFarm.Local.GetObject(
entry.JobDefinitionId) as SPJobDefinition;
if (job != null)
{
job.RunNow();
// don't rerun the same job twice.
rerunJobIds.Add(entry.JobDefinitionId);
}
}
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.
Siehe auch
Referenz
Microsoft.SharePoint.Administration-Namespace
Vererbungshierarchie
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Microsoft.SharePoint.Administration.SPPersistedUpgradableObject
Microsoft.SharePoint.Administration.SPService
Microsoft.SharePoint.Administration.SPDiagnosticsServiceBase
Microsoft.SharePoint.Administration.SPIisWebService
Microsoft.SharePoint.Administration.SPIncomingEmailService
Microsoft.SharePoint.Administration.SPOutboundMailService
Microsoft.SharePoint.Administration.SPRequestManagementService
Microsoft.SharePoint.Administration.SPUsageService
Microsoft.SharePoint.Administration.SPWebService
Microsoft.SharePoint.Administration.SPWindowsService