Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Poznámka
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Upozornění
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v zásadách podpory .NET a .NET Core. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Autor: James Newton-King
gRPC je výkonná architektura využívající vzdálené volání procedur (RPC) nezávislá na programovacím jazyku.
Mezi výhody gRPC patří:
Díky těmto výhodám je gRPC ideální pro:
V gRPC se při vývoji rozhraní API používá přístup založený na kontraktech. Služby a zprávy se definují v souborech .proto
:
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Typy .NET pro služby, klienty a zprávy se generují automaticky vložením souborů .proto
do projektu:
.proto
do skupiny položek <Protobuf>
.<ItemGroup>
<Protobuf Include="Protos\greet.proto" />
</ItemGroup>
Další informace o podpoře nástrojů gRPC najdete v tématu Služby gRPC v jazyce C#.
Služby gRPC je možné hostovat v ASP.NET Core. Služby jsou plně integrované s funkcemi ASP.NET Core, jako jsou protokolování, injektáž závislostí, ověřování nebo autorizace.
Pro gRPC se vyžaduje balíček Grpc.AspNetCore. Informace o konfiguraci gRPC v aplikaci .NET najdete v části Konfigurace gRPC.
Šablona projektu služby ASP.NET Core gRPC nabízí základní službu:
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
});
}
}
Třída GreeterService
dědí typ z třídy GreeterBase
, která se generuje ze služby Greeter
v souboru .proto
. Služba je přístupná klientům v souboru Program.cs
:
app.MapGrpcService<GreeterService>();
Další informace o službách gRPC v ASP.NET Core najdete v tématu Služby gRPC v ASP.NET Core.
Klienti gRPC jsou konkrétní typy klientů, kteří se generují ze souborů .proto
. Konkrétní klient gRPC obsahuje metody, které se překládají na službu gRPC v souboru .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);
Klient gRPC se vytváří pomocí kanálu, který představuje dlouhodobé připojení ke službě gRPC. Kanál je možné vytvořit pomocí metody GrpcChannel.ForAddress
.
Další informace o vytváření klientů a volání různých metod služeb najdete v tématu Volání služeb gRPC pomocí klienta .NET.
gRPC je výkonná architektura využívající vzdálené volání procedur (RPC) nezávislá na programovacím jazyku.
Mezi výhody gRPC patří:
Díky těmto výhodám je gRPC ideální pro:
V gRPC se při vývoji rozhraní API používá přístup založený na kontraktech. Služby a zprávy se definují v souborech .proto
:
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Typy .NET pro služby, klienty a zprávy se generují automaticky vložením souborů .proto
do projektu:
.proto
do skupiny položek <Protobuf>
.<ItemGroup>
<Protobuf Include="Protos\greet.proto" />
</ItemGroup>
Další informace o podpoře nástrojů gRPC najdete v tématu Služby gRPC v jazyce C#.
Služby gRPC je možné hostovat v ASP.NET Core. Služby jsou plně integrované s funkcemi ASP.NET Core, jako jsou protokolování, injektáž závislostí, ověřování nebo autorizace.
Pro gRPC se vyžaduje balíček Grpc.AspNetCore. Informace o konfiguraci gRPC v aplikaci .NET najdete v části Konfigurace gRPC.
Šablona projektu služby gRPC nabízí základní službu:
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
});
}
}
Třída GreeterService
dědí typ z třídy GreeterBase
, která se generuje ze služby Greeter
v souboru .proto
. Služba je přístupná klientům v souboru Startup.cs
:
app.UseEndpoints(endpoints =>
{
endpoints.MapGrpcService<GreeterService>();
});
Další informace o službách gRPC v ASP.NET Core najdete v tématu Služby gRPC v ASP.NET Core.
Klienti gRPC jsou konkrétní typy klientů, kteří se generují ze souborů .proto
. Konkrétní klient gRPC obsahuje metody, které se překládají na službu gRPC v souboru .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);
Klient gRPC se vytváří pomocí kanálu, který představuje dlouhodobé připojení ke službě gRPC. Kanál je možné vytvořit pomocí metody GrpcChannel.ForAddress
.
Další informace o vytváření klientů a volání různých metod služeb najdete v tématu Volání služeb gRPC pomocí klienta .NET.
Zpětná vazba k produktu ASP.NET Core
ASP.NET Core je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceŠkolení
Postup výuky
Vytváření aplikací a služeb nativních pro cloud pomocí .NET a ASP.NET Core - Training
Vytvářejte nezávisle nasazovatelné, vysoce škálovatelné a odolné aplikace a služby pomocí bezplatné a opensourcové platformy .NET. S .NET můžete pro aplikace a služby .NET a ASP.NET Core používat oblíbenou technologii mikroslužeb, jako je Docker, Kubernetes, Dapr, Azure Container Registry a další.