.NET .NET Aspire Rust 托管

包括:托管集成Client 集成

注意

此集成是 .NET.NET Aspire 社区工具包 的一部分, 不受 .NET.NET Aspire 团队正式支持。

Rust 是一种常规用途编程语言,强调性能、类型安全性和并发性。 它强制实施内存安全,这意味着所有引用都指向有效内存。 通过 .NET Aspire Rust 托管集成,可以在 .NET Aspire 应用主机项目中托管 Rust 应用程序,并将其提供给应用程序中的其他资源。

托管集成

Rust 托管集成将 Rust 应用程序建模为 Aspire.Hosting.ApplicationModel.RustAppExecutableResource 类型。 若要访问此类型和 API,以便将其添加到应用主机项目,请安装 📦 CommunityToolkit。Aspire。Hosting.Rust 应用主机项目中的 NuGet 包。

此集成要求已在主机上安装 Rust 编程语言,并且 Rust 包管理器 cargo 在系统路径中可用。

dotnet add package CommunityToolkit.Aspire.Hosting.Rust

有关详细信息,请参阅 dotnet add package在 .NET 应用程序中管理包依赖项

添加 Rust 资源

在应用主机项目的 Program.cs 文件中,调用 builder 实例上的 Aspire.Hosting.RustAppHostingExtension.AddRustApp 以添加 Rust 应用程序资源,如以下示例所示:

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...

应用程序的工作目录应是 Rust 应用程序目录的根目录。 还可以通过将 args 参数传递给 AddRustApp 方法来自定义运行行为。

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

可以将 Rust 应用程序添加为对应用主机项目中其他资源的引用。

另请参阅