You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Example event.publicclassProductRegisteredEvent{publicintProductId{get;}publicstringProductName{get;}publicProductRegisteredEvent(intproductId,stringproductName){ProductId=productId;ProductName=productName;}}// Example event handlers.publicclassProductRegisteredEventHandlers:IEventHandler<ProductRegisteredEvent>{// Sync event handler.[EventHandler]publicvoidHandle(ProductRegisteredEvent@event){System.Console.WriteLine($"ProductRegisteredEventHandler handled {@event.GetType()}.");}// Async event handler.[EventHandler]publicTaskSendEmailNotificationAsync(ProductRegisteredEvent@event,CancellationTokenct){System.Console.WriteLine($"Sending email notification...");returnTask.CompletedTask;}}
// Event Handler Registration.publicEventDelegatorRegisterEventHandlers(){// MultiMessageHandlerRegistration allows registration of a multiple message handlers per message type.varregistration=newMultiMessageHandlerRegistration();// Register all methods with [EventHandler] attribute.registration.RegisterEventHandlerAttributes(()=>newProductRegisteredEventHandlers(newProductRepository());// Build the event delegator.IMessageHandlerResolverresolver=registration.BuildMessageHandlerResolver();returnnewEventDelegator(resolver);}
About
Attribute registration extension for Xer.Cqrs.EventStack