来自C#gRPC服务器的RpcException中的空元数据

时间:2019-10-30 12:53:26

标签: c# grpc

我无法从ASP.NET gRPC服务器的异常中获取元数据。

我正在尝试遵循本教程https://github.com/aspnet/AspNetCore.Docs/tree/master/aspnetcore/tutorials/grpc,并在GrpcGreeterClient上添加捕获的异常。

服务器:

var metadata = new Metadata
            {
                { "user", "sd" }
            };
            throw new RpcException(new Status(StatusCode.PermissionDenied, "Permission denied"), metadata);

客户端:

catch (RpcException ex) when (ex.StatusCode == StatusCode.PermissionDenied)
            {
                Console.WriteLine(ex.Trailers.Count);
                var userEntry = ex.Trailers.FirstOrDefault(e => e.Key == "user");
                Console.WriteLine($"User '{userEntry.Value}' does not have permission to view this portfolio.");
            }

我希望看到ex.Trailers.Count为1,以“用户”作为键。

1 个答案:

答案 0 :(得分:0)

使用2.24.0的Grpc.Net.Client 2.23.0中的问题一切正常。