Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber másEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Nota
Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulte la directiva de compatibilidad de .NET y .NET Core. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulte la versión de .NET 9 de este artículo.
En este artículo se describe cómo usar el cliente gRPC para .NET con implementaciones de .NET que admiten .NET Standard 2.0.
Las siguientes implementaciones de .NET (o versiones posteriores) admiten Grpc.Net.Client, pero no son totalmente compatibles con HTTP/2:
El cliente gRPC para .NET puede llamar a los servicios de dichas implementaciones de .NET con algunas opciones de configuración adicionales.
Es necesario configurar un proveedor HTTP con GrpcChannelOptions.HttpHandler
. Si algún controlador no se configura, se generará un error:
System.PlatformNotSupportedException
: gRPC requiere algunas opciones de configuración adicionales para poder realizar correctamente las llamadas de RPC en implementaciones de .NET que no admitan gRPC mediante HTTP/2. Es necesario especificar un proveedor HTTP conGrpcChannelOptions.HttpHandler
. El proveedor HTTP configurado debe admitir HTTP/2 o estar configurado para usar gRPC-Web.
Las implementaciones de .NET que no admiten HTTP/2, como UWP y Unity, pueden usar gRPC-Web como alternativa.
var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions
{
HttpHandler = new GrpcWebHandler(new HttpClientHandler())
});
var client = new Greeter.GreeterClient(channel);
var response = await client.SayHelloAsync(new HelloRequest { Name = ".NET" });
Los clientes también se pueden crear mediante la fábrica de cliente de gRPC. Un proveedor HTTP se configura mediante el método de extensión ConfigurePrimaryHttpMessageHandler.
builder.Services
.AddGrpcClient<Greet.GreeterClient>(options =>
{
options.Address = new Uri("https://localhost:5001");
})
.ConfigurePrimaryHttpMessageHandler(
() => new GrpcWebHandler(new HttpClientHandler()));
Para obtener más información, consulte Configuración de gRPC-Web con el cliente gRPC de .NET.
Importante
gRPC-Web requiere que el cliente y el servidor lo admitan. gRPC-Web se puede configurar rápidamente mediante un servidor gRPC de ASP.NET Core. Otras implementaciones del servidor gRPC requieren un proxy para admitir gRPC-Web.
La compatibilidad de .NET Framework con gRPC por medio de HTTP/2 es limitada. Para habilitar gRPC por medio de HTTP/2 en .NET Framework, configure el canal para usar WinHttpHandler.
Requisitos y restricciones referentes al uso de WinHttpHandler
:
System.Net.Http.WinHttpHandler
, versión 6.0.1 o posterior.WinHttpHandler
en el canal con GrpcChannelOptions.HttpHandler
.var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions
{
HttpHandler = new WinHttpHandler()
});
var client = new Greeter.GreeterClient(channel);
var response = await client.SayHelloAsync(new HelloRequest { Name = ".NET" });
A la hora de realizar llamadas de gRPC, una alternativa para .NET Framework es usar la biblioteca principal de C# para gRPC. La biblioteca principal de C# para gRPC:
Comentarios de ASP.NET Core
ASP.NET Core es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber másCursos
Módulo
Implementación de operaciones HTTP en aplicaciones web Blazor de ASP.NET Core - Training
Implementación de operaciones HTTP en aplicaciones web Blazor de ASP.NET Core