SPService - Classe
Représente un service à l'échelle de la batterie de serveurs.
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Microsoft.SharePoint.Administration.SPPersistedUpgradableObject
Microsoft.SharePoint.Administration.SPService
Espace de noms : Microsoft.SharePoint.Administration
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
'Déclaration
<GuidAttribute("DACA2A15-B9B5-43da-BEA3-6B75FBE3A883")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPService _
Inherits SPPersistedUpgradableObject
'Utilisation
Dim instance As SPService
[GuidAttribute("DACA2A15-B9B5-43da-BEA3-6B75FBE3A883")]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPService : SPPersistedUpgradableObject
Pour renvoyer le service parent d'une instance de service, utilisez la propriété Service de la classe SPServiceInstance . Utilisez la propriété Services de la classe SPFarm pour renvoyer un objet SPServiceCollection qui représente la collection de services sur la batterie de serveurs. Un indexeur permet de renvoyer un service unique de la collection en utilisant le GUID qui identifie le service. Par exemple, si la collection est assignée à une variable nommée myServices, utilisez myServices[index] dans C# ou myServices(index) dans Visual Basic, où index est le GUID qui identifie le service.Pour récupérer un service unique de la collection par nom, utilisez la méthode GetValue . Par exemple, si la collection est assignée à une variable nommée myServices, utilisez myServices.GetValue<ServiceType>(name) dans C# ou myServices.GetValue(ServiceType)(name) dans Visual Basic, où ServiceType est que le type de service et name est le nom qui identifie le service.
L'exemple suivant parcourt l'historique des travaux de minuteur pour chaque service de la batterie de serveurs et exécute à nouveau tous les travaux de minuteur qui ont échoué dans la dernière heure.
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);
}
}
}
}
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.
Microsoft.SharePoint.Administration - Espace de noms
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