Экземпляр рабочего процесса сериализуется в базу данных (через сериализацию .NET), когда он простаивает, и десериализуется в объект рабочего процесса при пробуждении. Если вы измените класс экземпляра рабочего процесса, среда выполнения захлебнется при попытке десериализации свободных рабочих процессов со «старой» структурой.
Если вы осторожны, вы можете добавить некоторую степень изменения в работающий рабочий процесс: например, вы можете изменить код в действиях кода или изменить некоторую логику, если это не влияет на «физическую» структуру процесс (нам удалось сделать это несколько раз, исправляя ошибку в коде и перезаписывая библиотеки DLL на месте без переустановки функции рабочего процесса).
Большим запретом является добавление / удаление полей из класса, который содержит рабочий процесс, или изменение их типов.
Если вам нужно внести какие-то серьезные изменения (добавить / удалить действия и т. Д.), Лучше развернуть новый рабочий процесс как другой рабочий процесс. Обычно мы разворачиваем разные версии рабочих процессов, используя схему именования, такую как foowf-0.1, foowf-0.2 и т. Д.