Windows Workflow Foundation 4.0 и постоянство - PullRequest
1 голос
/ 16 декабря 2009

Я использую Visual Studio 2010 Beta 2, чтобы научиться использовать Workflow Foundation (WF) версии 4.0 до следующего выпуска Visual Studio 2010. Я заметил одну вещь: если я сохраню Workflow в базе данных SQL постоянное хранилище, а затем загрузите его обратно в приложение и завершите рабочий процесс; запись будет удалена из постоянного хранилища после завершения последнего действия рабочего процесса. Мне нужно выяснить, предназначена ли эта функция для предотвращения увеличения базы данных, или я делаю что-то не так.

1 Ответ

4 голосов
/ 17 декабря 2009

Это поведение удаления настраивается. Например, если вы используете WorkflowServiceHost и используете код для настройки хоста службы, вы можете установить для SqlWorkflowInstanceStoreBehavior.InstanceCompletionAction значение InstanceCompletionAction.DeleteNothing, как в следующем примере:

WorkflowServiceHost host = new WorkflowServiceHost(workflow, baseAddress);
SqlWorkflowInstanceStoreBehavior persistenceBehavior = new SqlWorkflowInstanceStoreBehavior(connString);
persistenceBehavior.InstanceCompletionAction = InstanceCompletionAction.DeleteNothing;
host.Description.Behaviors.Add(persistenceBehavior);

Для получения дополнительной информации о функциях хранилища экземпляров рабочего процесса SQL и о том, как его настроить, ознакомьтесь с этой статьей MSDN .

...