хостинг .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 можно добавить в качестве ссылки на другие ресурсы в проекте узла приложения.
См. также
.NET Aspire