RulesEngine icon indicating copy to clipboard operation
RulesEngine copied to clipboard

Using OnSuccess/OnFailure Actions within a rule causes a NullReferenceException when the Context is not defined

Open williamb1024 opened this issue 2 years ago • 0 comments

If a rule's OnSuccess or OnFailure action's Context is not defined (resulting in a null value), during execution of the rule's action a NullReferenceException is thrown during the construction of the ActionContext instance.

While the builtin Actions require Context information, it is possible that a custom action would not. The action itself should be responsible for handling context information that is missing by detecting missing items within the context dictionary. The action's code should determine if an exception is the proper response.

https://github.com/microsoft/RulesEngine/blob/dc5298989583954cd6aac598267747b4ce635f45/src/RulesEngine/Actions/ActionContext.cs#L19

Checking context for null or using a null-coalescing operator would solve this issue.

williamb1024 avatar Jan 20 '24 22:01 williamb1024