Поделиться через


Класс SPHealthReportsList

Представляет список Анализатор работоспособности SharePoint отчетов.

Иерархия наследования

System.Object
  Microsoft.SharePoint.SPSecurableObject
    Microsoft.SharePoint.SPList
      Microsoft.SharePoint.Administration.Health.SPHealthReportsList

Пространство имен:  Microsoft.SharePoint.Administration.Health
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class SPHealthReportsList _
    Inherits SPList _
    Implements IDisposable
'Применение
Dim instance As SPHealthReportsList
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class SPHealthReportsList : SPList, 
    IDisposable

Замечания

Этот класс представляет список Отчетов о работоспособности в разделе мониторинг центра администрирования. При выполнении правила работоспособности Анализатор работоспособности SharePoint создает отчет о состоянии и добавляет его в список Отчетов о работоспособности . Представление по умолчанию в этом списке отображаются только элементы, которые не удалось самыми последними проверки работоспособности.

Можно получить доступ к списку Отчетов о работоспособности с помощью свойства статического Local . После получения экземпляра класса SPHealthReportsList можно запросить список как и любой объект SPList .

Важно!

SPHealthReportsList объект, возвращенный свойством Local использует неуправляемые ресурсы. Вы несете ответственность за освобождение этих ресурсов. Это можно сделать, — это вызвать метод Dispose() , когда объект больше не требуется.

Примеры

Следующий пример является простое консольное приложение, которое выводит заголовок, Дата и состояние для каждого отчета в список Отчетов о работоспособности для фермы. Обратите внимание на то, чтобы получить доступ к списку Отчетов о работоспособности , локальный сервер должен быть присоединен к ферме.

using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Administration.Health;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            if (SPFarm.Joined)
            {
                using (SPHealthReportsList list = SPHealthReportsList.Local)
                {
                    // Get a collection of health reports in date order.
                    SPQuery query = new SPQuery();
                    query.Query = "<OrderBy><FieldRef Name=\"Created\" /></OrderBy>";
                    SPListItemCollection reports = list.GetItems(query);

                    // Print the title, date, and status for each item.
                    foreach (SPListItem report in reports)
                    {
                        Console.WriteLine("\n\n{0} \nReport Date: {1} \nStatus: {2}",
                            report[SPBuiltInFieldId.LinkTitleNoMenu].ToString(),
                            report[SPBuiltInFieldId.Created].ToString(),
                            report[SPBuiltInFieldId.HealthReportSeverity].ToString());
                    }
                }
            }
            Console.Write("\nPress ENTER to continue...");
            Console.Read();
        }
    }
}
Imports System
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Administration
Imports Microsoft.SharePoint.Administration.Health

Module Test

    Sub Main()

        If SPFarm.Joined Then

            Using list As SPHealthReportsList = SPHealthReportsList.Local

                ' Get a collection of health reports in date order.
                Dim query As SPQuery = New SPQuery()
                query.Query = "<OrderBy><FieldRef Name='Created' /></OrderBy>"
                Dim reports As SPListItemCollection = list.GetItems(query)

                ' Print the title, date, and status for each item.
                Dim report As SPListItem
                For Each report In reports
                    Console.WriteLine(vbCrLf + vbCrLf + _
                                      report(SPBuiltInFieldId.LinkTitleNoMenu).ToString())
                    Console.WriteLine("Report Date: {0}", _
                                      report(SPBuiltInFieldId.Created).ToString())
                    Console.WriteLine("Status: {0}", _
                                      report(SPBuiltInFieldId.HealthReportSeverity).ToString())
                Next

            End Using
        End If
        Console.Write(vbCrLf + "Press ENTER to continue...")
        Console.Read()
    End Sub

End Module

Примечание

Сведения об использовании синтаксиса запросов LINQ запросов для извлечения элементов списка в SharePoint Foundationможно Managing Data with LINQ to SharePoint.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPHealthReportsList

Пространство имен Microsoft.SharePoint.Administration.Health

SPHealthRulesList

Другие ресурсы

Working with SharePoint Maintenance Manager