MediatR.Courier 는 CQRS 라이브러리의 확장판으로
Event 공유를 목적으로 합니다.
MediatR
MediatR.Courier
두 Library 를 설치해야 하며 blazor에 적용시에는 Program.cs에
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(assemblies[0]))
.AddCourier(assemblies);
의존성을 선언합니다.
Model 선언
public class ExampleEvent : INotification
{
public string message { get; set; }
}
INotification 상속 받습니다.
수신부
//구독 선언
Courier.Subscribe<ExampleEvent>(EventRecv);
//실행부
public void EventRecv(ExampleEvent exam, CancellationToken tk)
{
msg = exam.message;
StateHasChanged();
}
전파부
async Task PubMes()
{
ExampleEvent ev = new ExampleEvent() { message = inpumsg };
await _mediator.Publish(ev);
}
BLAZOR PAGE에 모듈을 배치합니다.
결과