以下のコードをご覧ください:
public class CreatePersonHandler
: IRequestHandler<CreatePersonCommand,bool>
{
public async Task<bool> Handle(CreatePersonCommand message, CancellationToken cancellationToken)
{
return true;
}
}
期待どおりに機能します。つまり、ハンドラーに到達し、trueを返します。ハンドラーが何も返さない場合の対処方法を教えてください。私はこれをしたいです:
public async void Handle(CreatePersonCommand message, CancellationToken cancellationToken)
{
//don't return anything
}
私はこれをグーグルで過去2時間過ごしました。たとえば、ここでは MediatRパイプラインにvoid/Task応答を登録 を、ここでは https://github.com/jbogard/MediatR/issues/2 を確認しました。
何らかの理由でUnitを使用したくない人のための回避策ソリューション。 VoidResultまたはEmptyResultという名前のクラスを作成し、それを何も返さないすべての要求の戻りとして使用できます。
public class CreatePersonHandler : IRequestHandler<CreatePersonCommand, VoidResult>