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.
gRPC es un marco de llamada a procedimiento remoto (RPC) de alto rendimiento e independiente del idioma.
Las principales ventajas de gRPC son:
Estas ventajas hacen que gRPC sea ideal para:
gRPC usa un enfoque de contrato primero para el desarrollo de API. Los servicios y mensajes se definen en los archivos .proto
:
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Los tipos .NET para los servicios, los clientes y los mensajes se generan automáticamente incluyendo archivos .proto
en un proyecto:
.proto
al grupo de elementos <Protobuf>
.<ItemGroup>
<Protobuf Include="Protos\greet.proto" />
</ItemGroup>
Para más información sobre la compatibilidad con las herramientas de gRPC, vea Servicios gRPC con C#.
Los servicios gRPC se puede hospedar en ASP.NET Core. Los servicios tienen una integración completa con características de ASP.NET Core como el registro, la inserción de dependencias (DI), la autenticación y la autorización.
gRPC requiere el paquete Grpc.AspNetCore. Para obtener información sobre cómo configurar gRPC en una aplicación .NET, consulte Configuración de gRPC.
La plantilla de proyecto ASP.NET Core gRPC Service proporciona un servicio de inicio:
public class GreeterService : Greeter.GreeterBase
{
private readonly ILogger<GreeterService> _logger;
public GreeterService(ILogger<GreeterService> logger)
{
_logger = logger;
}
public override Task<HelloReply> SayHello(HelloRequest request,
ServerCallContext context)
{
_logger.LogInformation("Saying hello to {Name}", request.Name);
return Task.FromResult(new HelloReply
{
Message = "Hello " + request.Name
});
}
}
GreeterService
se hereda del tipo GreeterBase
, que se genera a partir del servicio Greeter
en el archivo .proto
. El servicio se hace accesible a los clientes en Program.cs
:
app.MapGrpcService<GreeterService>();
Para más información sobre los servicios gRPC en ASP.NET Core, consulte Servicios gRPC con ASP.NET Core.
Los clientes gRPC son tipos de cliente concretos que se generan a partir de archivos .proto
. El cliente gRPC concreto tiene métodos que se convierten en el servicio gRPC en el archivo .proto
.
var channel = GrpcChannel.ForAddress("https://localhost:5001");
var client = new Greeter.GreeterClient(channel);
var response = await client.SayHelloAsync(
new HelloRequest { Name = "World" });
Console.WriteLine(response.Message);
Un cliente gRPC se crea mediante un canal, que representa una conexión de larga duración con un servicio gRPC. Un canal se puede crear mediante GrpcChannel.ForAddress
.
Para más información sobre cómo crear clientes y llamar a métodos de servicio diferentes, vea Llamada a servicios gRPC con el cliente .NET.
gRPC es un marco de llamada a procedimiento remoto (RPC) de alto rendimiento e independiente del idioma.
Las principales ventajas de gRPC son:
Estas ventajas hacen que gRPC sea ideal para:
gRPC usa un enfoque de contrato primero para el desarrollo de API. Los servicios y mensajes se definen en los archivos .proto
:
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Los tipos .NET para los servicios, los clientes y los mensajes se generan automáticamente incluyendo archivos .proto
en un proyecto:
.proto
al grupo de elementos <Protobuf>
.<ItemGroup>
<Protobuf Include="Protos\greet.proto" />
</ItemGroup>
Para más información sobre la compatibilidad con las herramientas de gRPC, vea Servicios gRPC con C#.
Los servicios gRPC se puede hospedar en ASP.NET Core. Los servicios tienen una integración completa con características de ASP.NET Core como el registro, la inserción de dependencias (DI), la autenticación y la autorización.
gRPC requiere el paquete Grpc.AspNetCore. Para obtener información sobre cómo configurar gRPC en una aplicación .NET, consulte Configuración de gRPC.
La plantilla de proyecto de servicios gRPC proporciona un servicio de inicio:
public class GreeterService : Greeter.GreeterBase
{
private readonly ILogger<GreeterService> _logger;
public GreeterService(ILogger<GreeterService> logger)
{
_logger = logger;
}
public override Task<HelloReply> SayHello(HelloRequest request,
ServerCallContext context)
{
_logger.LogInformation("Saying hello to {Name}", request.Name);
return Task.FromResult(new HelloReply
{
Message = "Hello " + request.Name
});
}
}
GreeterService
se hereda del tipo GreeterBase
, que se genera a partir del servicio Greeter
en el archivo .proto
. El servicio se hace accesible a los clientes en Startup.cs
:
app.UseEndpoints(endpoints =>
{
endpoints.MapGrpcService<GreeterService>();
});
Para más información sobre los servicios gRPC en ASP.NET Core, consulte Servicios gRPC con ASP.NET Core.
Los clientes gRPC son tipos de cliente concretos que se generan a partir de archivos .proto
. El cliente gRPC concreto tiene métodos que se convierten en el servicio gRPC en el archivo .proto
.
var channel = GrpcChannel.ForAddress("https://localhost:5001");
var client = new Greeter.GreeterClient(channel);
var response = await client.SayHelloAsync(
new HelloRequest { Name = "World" });
Console.WriteLine(response.Message);
Un cliente gRPC se crea mediante un canal, que representa una conexión de larga duración con un servicio gRPC. Un canal se puede crear mediante GrpcChannel.ForAddress
.
Para más información sobre cómo crear clientes y llamar a métodos de servicio diferentes, vea Llamada a servicios gRPC con el cliente .NET.
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
Ruta de aprendizaje
Creación de aplicaciones y servicios nativos en la nube con .NET y ASP.NET Core - Training
Cree aplicaciones y servicios que se puedan implementar de forma independiente, muy escalables y resistentes mediante la plataforma .NET, gratuita y de código abierto. Con .NET puede usar una tecnología popular de microservicios como Docker, Kubernetes, Dapr, Azure Container Registry, etc., para aplicaciones y servicios principales de .NET y ASP.NET Core.