Dela via


.NET .NET Aspire Rust-hosting

Omfattar:Värdintegrering inte Client integrering

Notera

Den här integreringen är en del av .NET.NET Aspire Community Toolkit och stöds inte officiellt av .NET.NET Aspire-teamet.

Rust är ett allmänt programmeringsspråk som betonar prestanda, typsäkerhet och samtidighet. Det framtvingar minnessäkerhet, vilket innebär att alla referenser pekar på giltigt minne. Med .NET Aspire integrering av Rust-värdtjänst kan du vara värd för Rust-program i ditt .NET Aspire värdprojekt för appar och tillhandahålla det till andra resurser i din applikation.

Värdintegrering

Rust-värdintegrering modellerar en Rust-applikation som typen Aspire.Hosting.ApplicationModel.RustAppExecutableResource. Om du vill komma åt den här typen och API:er som gör att du kan lägga till den i appvärdprojektet installerar du 📦 CommunityToolkit.Aspire. Hosting.Rust NuGet-paket i appvärdprojektet.

Den här integreringen förväntar sig att programmeringsspråket Rust redan har installerats på värddatorn och att Rust-pakethanteraren cargo är tillgänglig i systemsökvägen.

dotnet add package CommunityToolkit.Aspire.Hosting.Rust

Mer information finns i dotnet add package eller Hantera paketberoenden i .NET applikationer.

Lägga till en Rust-resurs

I den Program.cs-filen i ditt programvärdprojekt ska du anropa Aspire.Hosting.RustAppHostingExtension.AddRustAppbuilder-instansen för att lägga till en Rust-resurs i applikationen, enligt exemplet nedan:

var builder = DistributedApplication.CreateBuilder(args);

var rust = builder.AddRustApp("rust-app", workingDirectory: "../rust-service")
                 .WithHttpEndpoint(env: "PORT");

var exampleProject = builder.AddProject<Projects.ExampleProject>()
                            .WithReference(rust);

// After adding all resources, run the app...

Arbetskatalogen för programmet ska vara roten i Programkatalogen Rust. Du kan också anpassa körningsbeteendet genom att skicka args-parametern till metoden AddRustApp.

var rust = builder.AddRustApp("rust-app", workingDirectory: "../rust-service", args: ["--locked"])
                 .WithHttpEndpoint(env: "PORT");

Rust-programmet kan läggas till som en referens till andra resurser i appvärdprojektet.

Se även