SPService class
Representa um serviço de toda a farm.
Inheritance hierarchy
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
'Declaração
<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
Comentários
Para retornar o serviço pai de uma instância de serviço, use a propriedade Service da classe SPServiceInstance . Use a propriedade Services da classe SPFarm para retornar um objeto SPServiceCollection que representa a coleção de serviços no farm de servidores. Use um indexador para retornar um único serviço da coleção usando o GUID que identifica o serviço. Por exemplo, se a coleção for atribuída a uma variável chamada myServices, use myServices[index] em C# ou deindexde myServices() no Visual Basic, onde index é o GUID que identifica o serviço.Para recuperar um único serviço da coleção por nome, use o método GetValue . Por exemplo, se a coleção for atribuída a uma variável chamada myServices, use myServices.GetValue<ServiceType>(name) em C# ou myServices.GetValue(ServiceType)(name) no Visual Basic, onde ServiceType é que o tipo de serviço e name é o nome que identifica o serviço.
Examples
O exemplo a seguir percorre o histórico de trabalhos de timer para cada serviço no farm e executa novamente os trabalhos de timer que falharam na ú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);
}
}
}
}
Thread safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Ver também
Referência
Microsoft.SharePoint.Administration namespace
Inheritance hierarchy
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