Clase SPService

Representa un servicio de toda la granja de servidores.

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.Administration.SPPersistedObject
      Microsoft.SharePoint.Administration.SPPersistedUpgradableObject
        Microsoft.SharePoint.Administration.SPService
          

Espacio de nombres:  Microsoft.SharePoint.Administration
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
<GuidAttribute("DACA2A15-B9B5-43da-BEA3-6B75FBE3A883")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPService _
    Inherits SPPersistedUpgradableObject
'Uso
Dim instance As SPService
[GuidAttribute("DACA2A15-B9B5-43da-BEA3-6B75FBE3A883")]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPService : SPPersistedUpgradableObject

Comentarios

Para devolver el servicio primario de una instancia de servicio, use la propiedad Service de la clase SPServiceInstance . Utilice la propiedad Services de la clase SPFarm para devolver un objeto SPServiceCollection que representa la colección de servicios en la granja de servidores. Utilice un indizador para devolver un único servicio de la colección con el GUID que identifica el servicio. Por ejemplo, si la colección se asigna a una variable denominada myServices, use myServices[index] en C# o myServices(index) en Visual Basic, donde index es el GUID que identifica el servicio.Para recuperar un único servicio de la colección por su nombre, utilice el método GetValue . Por ejemplo, si la colección se asigna a una variable denominada myServices, use myServices.GetValue<ServiceType>(name) en C# o myServices.GetValue(ServiceType)(name) en Visual Basic, donde ServiceType es que el tipo de servicio y name es el nombre que identifica el servicio.

Ejemplos

El siguiente ejemplo se recorre el historial de trabajos del temporizador para cada servicio en la granja de servidores y se vuelve a ejecutar los trabajos del temporizador que se han producido un error en la última hora.

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

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros SPService

Espacio de nombres Microsoft.SharePoint.Administration

Jerarquía de la herencia

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