A task processor that wants to use message boundary events must implement the ITaskProcessorWithEvents<> instead of the normal ITaskProcessor<> interface. This interface additionally determines which message boundary events can be triggered by the task processor (see section IEventPublisher<>).
Use the pre-defined NoEvents enumeration to indicate that you do not want to send either interrupting or non-interrupting events.
All other considerations (naming convention, logging, etc.) of section Task processor class for general tasks still apply.

Catching exceptions in task processor

Note that in order to actually interrupt task processing in case of an interrupting message boundary event, the Process(…) method of the task processor must not catch the generic C# Exception class, or, if it does, must have a dedicated catch handler for the InterruptingTaskEventException and re-throw this exception.