Поделиться через


хостинг .NET.NET Aspire Rust

Включает:интеграция размещения не Client интеграция

Заметка

Эта интеграция является частью набора средств сообщества .NET.NET Aspire, а официально не поддерживается командой .NET.NET Aspire.

Rust — это язык программирования общего назначения, подчеркивающий производительность, безопасность типов и параллелизм. Он обеспечивает безопасность памяти, что означает, что все ссылки указывают на допустимую память. Интеграция размещения Rust .NET Aspire позволяет размещать приложения Rust в проекте размещения приложения .NET Aspire и предоставлять их другим ресурсам в вашем приложении.

Интеграция хостинга

Интеграция хостинга Rust моделирует приложение Rust как тип Aspire.Hosting.ApplicationModel.RustAppExecutableResource. Чтобы получить доступ к этому типу и API, которые позволяют добавить его в проект узла приложения, установите пакет 📦 CommunityToolkit.Aspire.Hosting.Rust NuGet в проект узла приложения.

Эта интеграция ожидает, что язык программирования Rust уже установлен на хост-компьютере, а диспетчер пакетов Rust cargo доступен в системном пути.

dotnet add package CommunityToolkit.Aspire.Hosting.Rust

Дополнительные сведения см. в статье dotnet для добавления пакета или Управление зависимостями пакетов в .NET приложениях.

Добавление ресурса Rust

В файле Program.cs проекта хоста приложения выполните вызов Aspire.Hosting.RustAppHostingExtension.AddRustApp на экземпляре builder, чтобы добавить ресурс приложения 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 можно добавить в качестве ссылки на другие ресурсы в проекте узла приложения.

См. также