1

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

ответ

4

Это поведение при удалении настраивается. Например, если вы используете 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 Workflow и как его настроить, посмотрите MSDN article.

Смежные вопросы