Является ли Workflow Foundation проблемой хранения состояния в памяти?

StackOverflow https://stackoverflow.com/questions/1600134

Вопрос

У нас есть подрядчик, который разработал систему, использующую основу рабочего процесса в .NET 3.5.У одного из моих коллег есть опасения, что «служба рабочих процессов хранит состояние в памяти и, возможно, не синхронизируется с нашей базовой базой данных».
Оправданы ли его опасения?

Это было полезно?

Решение

Каким образом состояние сохраняется в памяти?WF имеет службу сохранения, например, когда.Рабочий процесс переходит в состояние ожидания.Вы можете гарантировать, что WF сохранится в вашей базе данных.У нас нет проблем, например.постановка информации в конкретный рабочий процесс для перезапуска среды выполнения WF — WF будет выбран из БД и выполнен в правильной позиции.

Хорошо, перечитывая еще раз, вы можете означать, что если вы храните состояние в рабочем процессе (например,в зависимых свойствах действия), что это может рассинхронизироваться.Это во многом зависит от того, нормально это или нет.Сериализованный объект, созданный с использованием данных БД, может быть не синхронизирован в WF, если исходные данные изменились.Если это вас беспокоит, вы можете предпочесть воссоздать определенные объекты из данных БД, а не сохранять их как сериализованные объекты в вашем WF.

Другие советы

Это зависит от того, как он это сделал, но ответ, вероятно, нет. Кэширование памяти - это полезный способ избежать ненужных операций ввода-вывода, когда задействована БД. Возможно, вашему коллеге нужно просмотреть код, чтобы почувствовать себя лучше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top