В настоящее время я использую последовательные рабочие процессы в Windows WF, но мне нужно разбить процесс, потому что теперь у меня есть несколько рабочих процессов, которые должны совместно использовать часть функциональности. Я считаю, что в WF есть способ создать пользовательские кодовые операции, которые в основном это сделали бы, но я планирую в конечном итоге отказаться от WF в пользу Stateless; поэтому я не хочу прямо сейчас тратить время на изучение того, как кодировать настраиваемые действия.
Единственное, что я могу придумать, - это создать новый проект WF, содержащий все «общие» поведения, а затем запустить их из рабочих процессов, которые в них нуждаются. Сейчас я работаю над этим, чтобы посмотреть, как все пойдет, но может ли кто-нибудь сказать мне, является ли это просто плохой идеей?
EDIT - одна «проблема», которую я вижу прямо сейчас, заключается в том, что я использую синглтон для среды выполнения WF, так как раньше я сталкивался с серьезными утечками памяти, даже когда я правильно избавляюсь от WF RT. Я отслеживаю все экземпляры WF в исходной вызывающей стороне рабочего процесса, поэтому для правильной обработки событий мне пришлось бы передать этот список экземпляров WF в рабочий процесс, чтобы он мог добавить WF, который я запускаю внутри. Мне это кажется немного запутанным, хотя я, конечно, все еще могу попробовать этот способ. Я отслеживаю экземпляры WF, потому что пытаюсь использовать это, чтобы включить функцию паузы / прерывания / возобновления. Когда пользователь нажимает соответствующую кнопку в графическом интерфейсе, он перебирает все экземпляры WF и вызывает соответствующий метод.