Разработка действий рабочих процессов с помощью класса CodeActivity
Действия, созданные путем наследования от CodeActivity, могут реализовывать базовое императивное поведение путем переопределения метода Execute.
Использование CodeActivityContext
Доступ к функциям среды выполнения рабочего процесса можно получить из метода Execute при помощи элементов параметра context
типа CodeActivityContext. Функции, доступные посредством CodeActivityContext:
Возврат и задание значений аргументов и переменных.
Пользовательские функции отслеживания с использованием Track.
Доступ к свойствам выполнения действия с помощью GetProperty.
Создание настраиваемого действия, которое наследуется от CodeActivity
Откройте Visual Studio 2010.
Выберите "Файл", "Создать" и " Проект". Выберите рабочий процесс 4.0 в разделе Visual C# в окне "Типы проектов " и выберите узел версии 2010 . Выберите библиотекудействий в окне "Шаблоны ". Задайте имя для нового проекта HelloActivity.
Щелкните правой кнопкой мыши Activity1.xaml в проекте HelloActivity и выберите "Удалить".
Щелкните правой кнопкой мыши проект HelloActivity и выберите "Добавить " и " Класс". Задайте имя для нового класса HelloActivity.cs.
В файле HelloActivity.cs добавьте следующие директивы
using
.using System.Activities; using System.Activities.Statements;
Сделайте так, чтобы новый класс наследовал от действия CodeActivity путем добавления базового класса к объявлению класса.
class HelloActivity : CodeActivity
Добавьте функциональные возможности к классу путем добавления метода Execute.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); }
Используйте объект CodeActivityContext для создания записи отслеживания.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); CustomTrackingRecord record = new CustomTrackingRecord("MyRecord"); record.Data.Add(new KeyValuePair<String, Object>("ExecutionTime", DateTime.Now)); context.Track(record); }