WF определяет набор основных служб рабочего процесса, которые обрабатывают планирование потоков, рабочий процесс
постоянство, транзакции и отслеживание рабочего процесса. Дизайнеры WF могли бы встроить
реализация этих сервисов в самом движке времени выполнения, но они мудро решили использовать
их размещение их реализации в подключаемых службах. Это дает вам контроль . Вам решать
какие сервисы использовать (некоторые являются необязательными) и какую реализацию использовать для каждого сервиса.
WF также поддерживает другой вид службы, известный как локальный сервис (иногда называемый данными
обменный сервис). Это сервис, который вы сами разрабатываете и внедряете. Местная служба может служить
практически для любой цели, но одно общее применение - облегчить связь между экземплярами рабочего процесса
и хост-приложение. В отличие от этого, основные сервисные сервисы имеют свои цели (например,
постоянство, отслеживание), которое было определено Microsoft. Вы можете разработать альтернативные реализации
для каждой базовой службы, но это не меняет их определенного назначения.
Чтобы ваша локальная служба была доступна для вашего экземпляра рабочего процесса. Есть несколько способов сделать это. Простейшим было бы использовать CallExternalMethodActivity и настроить его.
Также служба должна иметь интерфейс и оформляться с помощью [ExternalDataExchange].
Если вы хотите написать свою собственную реализацию базовой службы, вот ссылка, которая описывает, как предоставить собственную базовую службу рабочего процесса 1012 *.
http://msdn.microsoft.com/en-us/library/ms734705(v=VS.90).aspx