Я не могу получить метаданные из исключения с gRPC-сервера ASP.NET.
Я пытаюсь следовать этому уроку 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 и «пользователь» в качестве ключа.