Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La persistencia del flujo de trabajo es la captura duradera del estado de una instancia de flujo de trabajo, independientemente de la información del proceso o del equipo. Esto se hace para proporcionar un punto de recuperación conocido para la instancia de flujo de trabajo en caso de error del sistema, o para conservar la memoria descargando instancias de flujo de trabajo que no están funcionando activamente, o para mover el estado de la instancia de flujo de trabajo de un nodo a otro nodo de una granja de servidores.
La persistencia permite la agilidad, escalabilidad y recuperación del proceso en caso de error y la capacidad de administrar la memoria de forma más eficaz. El proceso de persistencia incluye la identificación de un punto de persistencia, la recopilación de los datos que se van a guardar y, por último, la delegación del almacenamiento real de los datos a un proveedor de persistencia.
Para habilitar la persistencia de un flujo de trabajo, debe asociar un almacén de instancias con WorkflowApplication o WorkflowServiceHost como se mencionó en How to: Enable Persistence for Workflows and Workflow Services. WorkflowApplication y WorkflowServiceHost usan el almacén de instancias asociado a ellos para habilitar la conservación de instancias de flujo de trabajo en un almacén de persistencia y cargar instancias de flujo de trabajo en memoria en función de los datos de instancia de flujo de trabajo almacenados en el almacén de persistencia.
.NET Framework 4.6.1 se incluye con la clase SqlWorkflowInstanceStore , que permite la persistencia de datos y metadatos sobre las instancias de flujo de trabajo en una base de datos de SQL Server 2005 o SQL Server 2008. Consulte Almacén de instancias de flujo de trabajo de SQL para obtener más información.
Para almacenar y cargar los datos específicos de la aplicación junto con la información relacionada con la instancia de flujo de trabajo, puede crear participantes de persistencia que extiendan la PersistenceParticipant clase. Un participante de persistencia participa en el proceso de persistencia para guardar datos serializables personalizados en el almacén de persistencia, cargar los datos del almacén de instancias en la memoria y realizar cualquier lógica adicional en una transacción de persistencia. Para más información, consulte Participantes de persistencia.
Windows Server App Fabric simplifica el proceso de configuración de la persistencia. Para obtener más información, consulte Conceptos de persistencia con Windows Server App Fabric.
Puntos de persistencia implícitos
La lista siguiente contiene ejemplos de las condiciones en las que se conserva un flujo de trabajo cuando un almacén de instancias está asociado a un flujo de trabajo.
Cuando se completa una actividad TransactionScope o se completa una actividad TransactedReceiveScope .
Cuando una instancia de flujo de trabajo deja de estar inactiva y WorkflowIdleBehavior se establece en el host de flujo de trabajo. Esto ocurre, por ejemplo, cuando se usan actividades de mensajería o una actividad Delay .
Cuando una WorkflowApplication se vuelve inactiva y la propiedad PersistableIdle de la aplicación se establece en PersistableIdleAction.Persist.
Cuando se indica a una aplicación host que conserve o descargue una instancia de flujo de trabajo.
Cuando una instancia de flujo de trabajo se termina o finaliza.
Cuando se ejecuta una actividad Persist .
Cuando una instancia de un flujo de trabajo desarrollado con una versión anterior de Windows Workflow Foundation encuentra un punto de persistencia durante la ejecución interoperable.