Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 54622|Resposta: 0

[Fonte] O .NET Core chama soluções de erro de endereço gRPC HTTP (não protegido por TLS)

[Copiar link]
Postado em 2021-3-22 16:45:16 | | | |
gRPC é um framework de chamadas remotas de procedimentos (RPC) de alto desempenho que é independente da linguagem.

Os principais benefícios do gRPC são:

Framework moderno, de alto desempenho e leve para RPC.
Desenvolvimento de API com base em contrato que utiliza buffers de protocolo por padrão, permitindo implementações independentes da linguagem.
Ferramentas disponíveis em múltiplos idiomas para gerar servidores e clientes fortemente tipados.
Suporta chamadas de cliente, servidor e streaming bidirecional.
Reduzir o uso da rede com serialização binária Protobuf.

Esses benefícios tornam o gRPC adequado para:

Microserviços leves onde a eficiência é crítica.
Sistemas poliglotas que exigem múltiplas linguagens para desenvolvimento.
Serviços em tempo real peer-to-peer que precisam lidar com requisições ou respostas em streaming.

Revisar:
Combate prático: ASP.NET Core usa comunicação gRPC
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Buffers de Protocolo Google Início Rápido
https://www.itsvse.com/thread-3626-1-1.html

Tutorial de Buffers de Protocolo do Google em .net/c#
https://www.itsvse.com/thread-3668-1-1.html

Ao usar ASP.NET Core 3.1, um serviço gRPC é ativado, e o endpoint HTTP/2 é configurado sem proteção TLS, veja:O login do hiperlink está visível.

Usando o console .NET Core 3.1, tentei chamar o endereço HTTP do serviço gRPC com o seguinte erro:


Exceção não resolvida. Grpc.Core.RpcException: Status(StatusCode="Indisponível", Detail="Erro iniciando chamada gRPC. HttpRequestException: Ocorreu um erro ao enviar a solicitação. IOException: A resposta terminou prematuramente.", DebugException="System.Net.Http.HttpHttpRequestException: Ocorreu um erro ao enviar a solicitação.
---> System.IO.IOException: A resposta terminou prematuramente.



Dependendo da versão do .NET que seu app usar, existem alguns requisitos adicionais para chamar um serviço gRPC inseguro:

.NET 5 ou versões posteriores requerem Grpc.Net.Client versão 2.32.0 ou posterior.
O .NET Core 3.x requer configuração adicional. O aplicativo deve definir o comut System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport como true:


As configurações do cliente são as seguintes:

Somente o .NET Core 3.x requer o comutador System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport (System.NET Core 3.x). Não é necessária configuração adicional no .NET 5, nem esse requisito


O login do hiperlink está visível.





Anterior:Testes de desempenho de Reflexão, Emissão e Expressão .NET/C#
Próximo:Relatos de novatos tardios
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com