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


Проверка правила работоспособности во время разработки

Дата последнего изменения: 23 сентября 2009 г.

Применимо к: SharePoint Foundation 2010

При разработке правила полезно создать простое консольное приложение для проверки действия правила. Консольное приложение может вызывать метод Check() и Repair() правила, если у него такие есть, а также приложение может проверить возвращаемые значения различных свойств.

После развертывания правила оно выполняется в контексте службы таймера. Если протестировать правило после развертывания, потребуется присоединить его к owstimer.exe, чтобы выполнить код, при этом тестирование усложняется.

Создание консольного приложения для тестирования правила

  1. Откройте Visual Studio как администратор, щелкнув программу правой кнопкой в меню Пуск и выбрав Запуск от имени администратора.

  2. Создайте проект консольного приложения. В диалоговом окне Создать проект выберите Visual C# или Visual Basic, затем выберите Windows и шаблон Console Application.

  3. Добавьте ссылку на Microsoft.SharePoint.dll. В обозревателе решений щелкните правой кнопкой имя проекта и выберите Добавить ссылку. В диалоговом окне Добавить ссылку перейдите к %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\ISAPI\Microsoft.SharePoint.dll. Выберите Microsoft.SharePoint.dll и нажмите кнопку ОК.

  4. Добавьте ссылку на сборку, которая содержит правило.

  5. Добавьте операторы using (Imports в Visual Basic) для системного пространства имен, Microsoft.SharePoint.Administration.Health и пространства имен правила.

  6. Создайте экземпляр правила, вызвав конструктор по умолчанию. Затем напишите код для тестирования поведения правила.

Пример

В этом примере создается консольное приложение, тестирующее правило, показанное в примере в разделе Практическое руководство. Создание правила исправности.

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

namespace RuleTester
{
    class Program
    {
        static void Main(string[] args)
        {
            DiskDriveAlmostFull rule = new DiskDriveAlmostFull();
            SPHealthCheckStatus status = rule.Check();

            Console.WriteLine(status.ToString());
            if (status == SPHealthCheckStatus.Failed)
                Console.WriteLine(rule.Explanation);

            Console.Write("\nPress ENTER to continue...");
            Console.Read();
        }
    }
}
Imports System
Imports Microsoft.SharePoint.Administration.Health
Imports Samples.HealthRules

Module Module1

    Sub Main()
        Dim rule As DiskDriveAlmostFull = New DiskDriveAlmostFull()
        Dim status As SPHealthCheckStatus = rule.Check()

        Console.WriteLine(status.ToString())
        If status = SPHealthCheckStatus.Failed Then
            Console.WriteLine(rule.Explanation)
        End If

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

End Module

См. также

Задачи

Практическое руководство. Создание правила исправности

Практическое руководство. Создание компонента для регистрации правила работоспособности

Как: Развернуть правило работоспособности с пакетом решения