Workflow Foundation 4.0 - Служба транзакций и служба отслеживания SQL? - PullRequest
1 голос
/ 05 августа 2010

Я изучаю, достаточно ли стабилен Workflow Foundation 4.0, чтобы начать разработку на нем, но в документациях, которые я видел до сих пор, загадочно ничего не говорится о том, почему нет встроенных служб отслеживания транзакций и SQL!Они были доступны в WF 3.5 и казались достаточно стабильными.Есть какие-нибудь подсказки?Неужели у MS не было времени выпустить WF 4.0 по расписанию, или в 3.5 была сломана вся концепция, которую они решили отменить?Я знаю, что есть много ссылок и подсказок, указывающих на написание пользовательского (SQL) отслеживающего участника, но тогда какой смысл в «фреймворке»?Более того, нет возможности запрашивать отслеживаемые данные.И ничего об услуге транзакций!Итак, как нам сохранить постоянство данных WF и данных приложений?Я что-то здесь упускаю?

Некоторые неудовлетворительные ответы о «отсутствующем» отслеживании SQL в WF4:
- http://social.msdn.microsoft.com/Forums/en-US/wfprerelease/thread/8cfe598a-a400-4804-92ad-d68aa444d8f3
[получил еще несколько ссылок, но не смог опубликовать их здесь, поскольку новые пользователи могут опубликовать только одну гиперссылкуза вопрос :(]

Любая помощь будет принята с благодарностью:)

Ответы [ 2 ]

1 голос
/ 15 декабря 2010

Согласно MSDN, SQLTrackingService по-прежнему поддерживается (см. Нижнюю часть статьи ниже):

http://msdn.microsoft.com/en-us/library/system.workflow.runtime.tracking.sqltrackingservice.aspx

Вам нужно будет добавить ссылки на System.Workflow.Runtime.DLL (и, вероятно, System.Workflow.ComponentModel.dll) для вашего проекта.Убедитесь, что вы нацеливаетесь на полную платформу .net 4 в свойствах вашего проекта (то есть не на клиентскую платформу .net 4).Обе библиотеки можно найти в каталоге фреймворка v4.

1 голос
/ 06 августа 2010

SQL-отслеживание отсутствует, однако AppFabric включает в себя отслеживание, если вы идете по маршруту служб рабочего процесса.

Транзакции поддерживаются.Существует операция TransactionScope для краткосрочных транзакций и CompensatableTransaction для выполнения долгосрочных транзакций.Существует также возможность создания расширений действий на основе PersistenceIOParticipant, где вы можете сохранять дополнительные данные во время транзакции, использованной для сохранения рабочего процесса.

...