Я хочу иметь перехватчик для grpc в ядре c # .net, чтобы проверять все учетные данные запроса и регистрировать все исключения rpc, но если метод Continuation вызывает без ключевого слова Await, его исключение не выдает на этом уровне. поэтому я жду продолжения в перехватчике, чтобы поймать все исключения.
Пока что все работает хорошо, но я не знаю, может ли это вызвать какие-либо проблемы позже, особенно при многократных вызовах rpc cincurrent?
public override async Task<TResponse> UnaryServerHandler<TRequest, TResponse>(TRequest request, ServerCallContext context, UnaryServerMethod<TRequest, TResponse> continuation)
{
try
{
CheckLogin(context);
var res = await continuation(request, context);
return res;
}
catch (RpcException ex)
{
_logger.LogError(ex, "RPC Error. UnaryServerHanler Error. Method : {method}", context.Method);
throw ex;
}
catch (Exception ex)
{
_logger.LogError(ex, "UnaryServerHanler Error. Method : {method}", context.Method);
throw ex;
}
}