我无法从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,以“用户”作为键。
答案 0 :(得分:0)
使用2.24.0的Grpc.Net.Client 2.23.0中的问题一切正常。