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