Вообще говоря, если метод на основе задачи ничего не возвращает, вы можете вернуть завершенную задачу
public Task Handle(CreatePersonCommand message, CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
Теперь в терминах MediatR значение нуждается быть возвращенным.В случае отсутствия значения вы можете использовать Unit
:
public Task<Unit> Handle(CreatePersonCommand message, CancellationToken cancellationToken)
{
return Task.FromResult(Unit.Value);
}
или, в случае некоторого асинхронного кода где-то
public async Task<Unit> Handle(CreatePersonCommand message, CancellationToken cancellationToken)
{
await Task.Delay(100);
return Unit.Value;
}
Тогда сигнатура класса должна быть:
public class CreatePersonHandler : IRequestHandler<CreatePersonCommand>
что сокращенно от
public class CreatePersonHandler : IRequestHandler<CreatePersonCommand, Unit>