Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Autor: James Newton-King
gRPC podporuje předběžnou kompilaci .NET native (AOT) v .NET 8. Nativní AOT umožňuje publikování klientských a serverových aplikací gRPC jako malých a rychlých nativních spustitelných souborů.
Výstraha
V .NET 8 nejsou všechny funkce ASP.NET Core kompatibilní s nativní AOT. Další informace najdete v tématu ASP.NET core a nativní kompatibilita AOT.
Začínáme
Kompilace AOT se provádí při publikování aplikace. Nativní AOT je povolena s možností PublishAot.
Přidejte
<PublishAot>true</PublishAot>do souboru projektu klienta nebo serverové aplikace gRPC. Tím povolíte nativní kompilaci AOT během publikování a povolíte analýzu dynamického použití kódu během sestavování a úprav.<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> <PublishAot>true</PublishAot> </PropertyGroup> <ItemGroup> <PackageReference Include="Grpc.AspNetCore" Version="2.51.0" /> <PackageReference Include="Google.Protobuf" Version="3.22.0" /> </ItemGroup> </Project>Nativní AOT lze také povolit zadáním
--aotmožnosti pomocí šablony ASP.NET Core gRPC:dotnet new grpc --aotPublikujte aplikaci pro konkrétní identifikátor modulu runtime (RID) pomocí
dotnet publish -r <RID>.
Aplikace je dostupná v adresáři publikování a obsahuje veškerý kód potřebný ke spuštění.
Nativní analýza AOT zahrnuje veškerý kód aplikace a knihovny, na které aplikace závisí. Zkontrolujte nativní upozornění AOT a proveďte opravné kroky. Často je vhodné otestovat publikování aplikací, abyste zjistili problémy v rané fázi životního cyklu vývoje.
Optimalizace velikosti publikování
Nativní spustitelný soubor AOT obsahuje pouze kód z externích závislostí potřebných k podpoře aplikace. Nepoužitý kód se automaticky ořízne.
Optimalizaci velikosti publikované služby ASP.NET Core gRPC lze dosáhnout vytvořením hostitele pomocí WebApplication.CreateSlimBuilder(). Tento tvůrce poskytuje minimální seznam funkcí potřebných ke spuštění aplikace ASP.NET Core.
var builder = WebApplication.CreateSlimBuilder(args);
builder.Services.AddGrpc();
var app = builder.Build();
app.MapGrpcService<GreeterService>();
app.Run();
Výhody používání nativní AOT
Aplikace publikované s nativní AOT mají:
- Minimalizované nároky na disk
- Kratší doba spuštění
- Snížení poptávky po paměti
Další informace a příklady výhod, které nativní AOT poskytuje, najdete v tématu Výhody použití nativní AOT s ASP.NET Core.
Další zdroje informací
- Podpora pro ASP.NET Core pro Native AOT
- Nativní nasazení AOT