Preservação de Estado e Evitar Recursão Infinito

Um identificador exclusivo (UID) é associado a cada chamada no gerenciador de plug-in.

O UID facilita a criação de log, a detecção de recursão infinito e a preservação de estado entre as chamadas de método preExit e postExit, conforme ilustrado no cenário mostrado a seguir.

Figura 1. Evitando Recursão Infinito
Evitando Recursão Infinito

Este cenário mostra uma ocorrência de recursão infinito:

Entretanto, na primeira etapa, o método preExit do gerenciador de plug-in insere um UID no objeto Context do objeto de dados. O valor do UID é um objeto List ao qual um novo UID é anexado durante a segunda chamada.

Os assinantes são responsáveis por verificar para evitar recursão infinito pelas seguintes razões:

É possível usar o mesmo UID para a preservação de estado entre várias chamadas do assinante. Se o assinante chamar um novo emissor de tópico, você deverá copiar o UID de volta no novo objeto de dados para evitar recursão infinito. A preservação de estado permite a um assinante correlacionar a chamada de método preExit com a chamada de método postExit.



Termos de uso | Feedback