PersistenceParticipant Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Этот класс позволяет и WorkflowApplicationWorkflowServiceHost в процессе сохраняемости участвовать в процессе сохраняемости. Участник сохраняемости является производным от PersistenceParticipant класса или PersistenceIOParticipant класса (производного класса PersistenceParticipant класса), реализует абстрактные методы, а затем добавляет экземпляр класса в виде расширения экземпляра рабочего процесса. Искать WorkflowApplicationWorkflowServiceHost такие расширения при сохранении экземпляра и вызывать соответствующие методы в соответствующее время.
public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
- Наследование
-
PersistenceParticipant
- Производный
Примеры
В следующем примере кода показано создание класса, наследуемого от PersistenceParticipant. Этот пример приведен в примере процесса найма .
public class HiringRequestInfoPersistenceParticipant: PersistenceIOParticipant
{
public HiringRequestInfoPersistenceParticipant()
: base(true, false)
{
}
Комментарии
Узел выполняет следующие шаги (или этапы) при сохранении экземпляра:
Собирает значения для сохранения.
Сопоставляет поля монолитных структурированных значений с отдельными значениями.
SaveWorkflowCommand Выдает поставщик сохраняемости.
Выполняет операции ввода-вывода в транзакции сохраняемости.
Узел завершает этап перед началом следующего этапа. Например, при сохранении узел собирает значения со всех участников сохраняемости перед переходом на второй этап. На втором этапе узел предоставляет все значения, собранные на первом этапе всем участникам сохраняемости во втором этапе для сопоставления. На третьем этапе узел предоставляет все собранные значения на первых и второй этапах поставщику сохраняемости при вызове SaveWorkflowCommand. Затем на четвертом этапе узел предоставляет все собранные значения всем участникам операций ввода-вывода сохраняемости в рамках транзакции сохраняемости.
Узел выполняет следующие этапы при загрузке экземпляра сохраняемости:
LoadWorkflowCommand Выдает и LoadWorkflowByInstanceKeyCommand поставщик сохраняемости.
Выполняет операции ввода-вывода в транзакции сохраняемости.
Публикует загруженные значения.
На самом высоком уровне расширения экземпляров рабочего процесса, производные от PersistenceParticipant класса, могут участвовать в первых этапах (сбор) и второй (map) процесса сохранения и третьего этапа (публикация) процесса загрузки. Расширения экземпляров рабочего процесса, производные от класса PersistenceIOParticipant, могут дополнительно участвовать в четвертом этапе сохраняемого процесса и второй стадии процесса загрузки (ввода-вывода).
Конструкторы
| Имя | Описание |
|---|---|
| PersistenceParticipant() |
Инициализирует экземпляр PersistenceParticipant класса. |
Методы
| Имя | Описание |
|---|---|
| CollectValues(IDictionary<XName,Object>, IDictionary<XName,Object>) |
Узел вызывает этот метод для настраиваемого участника сохраняемости для сбора значений для чтения и записи и сохраняемых значений только для записи. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>) |
Узел вызывает этот метод после завершения сбора значений на первом этапе. Узел перенаправит два словаря значений, собранных всеми участниками сохраняемости на первом этапе (этап CollectValues) этому методу для сопоставления. Узел добавляет значения в словарь, возвращаемый этим методом, в коллекцию значений, доступных только для записи. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| PublishValues(IDictionary<XName,Object>) |
Узел вызывает этот метод и передает все загруженные значения в InstanceData коллекции (заполненные LoadWorkflowCommand или LoadWorkflowByInstanceKeyCommand) в качестве параметра словаря. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |