Datos a corto plazo frente a datos a largo plazo
Dos tipos de hechos se declaran en la memoria de trabajo del motor de reglas: hechos a corto plazo y hechos a largo plazo.
Hechos a corto plazo
Un hecho a corto plazo se corresponde específicamente con un ciclo de ejecución sencillo del motor de reglas. Estos hechos se retiran automáticamente de la memoria de trabajo del motor de reglas tras ejecutarse la directiva. Si los hechos cambian entre dos ciclos de ejecución del motor de reglas para una directiva, debe enviarlos al motor de reglas como hechos a corto plazo.
Ejemplos de hechos a corto plazo:
Los hechos que envía como parámetros al método Policy.Execute .
Los hechos que envíe como parámetros a la forma Reglas de llamada .
Los hechos que envíe desde una acción de una regla mediante la función Assert .
Hechos a largo plazo
Un hecho a largo plazo se carga en la memoria de trabajo del motor de reglas para su uso por un número arbitrario de ciclos de ejecución. Normalmente, estos hechos son bastante constantes y no cambian de una ejecución a otra de una directiva. Por ejemplo, quizá desee crear una conexión de base de datos una sola vez y, a continuación, ejecutar la directiva varias veces a través de esa misma conexión. La única diferencia real entre los hechos a corto plazo y los hechos a largo plazo se encuentra en la implementación.
Para enviar un hecho como de largo plazo, debe seguir los pasos siguientes:
Cree un componente del recuperador de hechos que implemente la interfaz IFactRetriever . Cree y aserte el hecho en la memoria de trabajo del motor de reglas cuando el método UpdateFacts se invoca por primera vez y actualiza el hecho cuando sea necesario en las invocaciones posteriores del método UpdateFacts .
Configure la directiva para usar el componente recuperador datos a través del Compositor de reglas de negocio.
Para obtener más información sobre cómo crear un recuperador de hechos y usarlo en una directiva, vea How to Create a Fact Retriever.