我想在c#.net核心中有一个grpc的拦截器,以检查所有请求凭据并记录所有rpc异常,但是如果Continuation方法调用时没有Await关键字,则其异常不会抛出此级别。因此,我等待拦截器的继续进行以捕获所有兴奋剂。 到目前为止,一切正常,但我不知道以后是否会引起任何问题,特别是在多个并发rpc调用中?
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;
}
}
答案 0 :(得分:0)