-
Notifications
You must be signed in to change notification settings - Fork 1
Defining Event Handlers
Shreyas Jejurkar edited this page Aug 23, 2020
·
3 revisions
Defining Event handler for Events is quite simple with Eventify. The Event Handler class needs to implement the generic IEventHandler<T>
interface, where T is a given Event for which you are defining event handler.
The IEventHandler interface only contains one method Handle
which takes a given Event as a parameter. And this object holds the information which has passed while publishing event.
Take a look at the following simple example, where we have defined EventHandler
for CustomerRegisterEvent
, that we created here.
public class CustomerRegisteredEventHandler : IEventHandler<CustomerRegisteredEvent>
{
private ILogger<CustomerRegisteredEventHandler> _logger;
public CustomerRegisteredEventHandler(ILogger<CustomerRegisteredEventHandler> logger)
{
_logger = logger;
}
public Task Handle(CustomerRegisteredEvent event)
{
_logger.Log("Customer has been registed. {customerName}", event.RegisteredCustomer.Name);
}
}
Just to highlight, one event can have as many as an event handler, and those all get called sequentially when the given event gets published.