SPService - Classe

Représente un service à l'échelle de la batterie de serveurs.

Hiérarchie d’héritage

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)

Syntaxe

'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

Remarques

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.

Exemples

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

Cohérence de thread

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.

Voir aussi

Référence

SPService - Membres

Microsoft.SharePoint.Administration - Espace de noms

Hiérarchie d’héritage

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