akka-net-aspire-configuration

其他 社区
解读按原文结构重写,命令、链接、术语均保留;右侧可核对作者原始 SKILL.md

方法与流程

  • Akka Configuration Extension Methods (AkkaConfiguration.cs):原文以此为独立章节。

适用与边界

  • When to Use This Skill:Use this skill when: Setting up a new Akka.NET project with .NET Aspire orchestration Configuring Akka.Cluster with cluster bootstrapping and discovery
  • 当前原文没有单列不适用场景或限制。

原文中的明确线索

  • 要点:「akka-net-management」、「microsoft-extensions-configuration」、「akka-net-best-practices」、「aspire-integration-testing」、「Configuration via Microsoft.Extensions.Configuration」、「Akka.Hosting for DI Integration」、「Aspire for Orchestration」、「Health Checks」
  • 文件与命令akka-net-managementmicrosoft-extensions-configurationakka-net-best-practicesaspire-integration-testingIValidateOptions<T>.ValidateOnStart()RequiredContactPointsNrServiceName

流狐整理:以上内容来自当前 SKILL.md 的章节与原词;未补写作者没有声明的工具、兼容性或能力。

流狐档案 作者与许可取自来源;运行、权限和网络为流狐检测或估算
流狐分类
通用
作者声明 Agent
未找到明确声明;不据此推断已兼容或已测试
静态检查
88 / 100 · 启发式扫描,不代表运行安全
作者 / 版本 / 许可
@Aaronontheweb · 未声明 license
流狐 Token 估算
中等消耗
流狐接入估算
需简单配置
是否需要外部 API Key
未发现要求
检测到的系统要求
macOS · Linux · Windows
底层运行要求
Node.js
检测到的文件与系统行为
  • 只读
  • 允许写入 / 修改
  • Shell 执行
  • 读取环境变量
检测到的网络行为
仅限本地
安装命令数
无(仅作为资料)

档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

输出预览 akka-net-aspire-configuration.preview
# Quick Example: Testing Akka + Aspire Integration

// Use Aspire's DistributedApplicationTestingBuilder for infrastructure
// Use Akka.Hosting.TestKit for actor testing
public class AkkaAspireIntegrationTests : IAsyncLifetime
{
    private DistributedApplication? _app;

    public async Task InitializeAsync()
    {
        var appHost = await DistributedApplicationTestingBuilder
            .CreateAsync<Projects.YourApp_AppHost>();

        _app = await appHost.BuildAsync();
        await _app.StartAsync();
    }

    [Fact]
    public async Task ActorSystem_WithRealDatabase_ShouldPersistEvents()
    {
        // Get SQL connection string from Aspire
        var dbResource = _app!.GetResource("yourdb");
        var connectionString = await dbResource.GetConnectionStringAsync();

        // Create HttpClient to test actor endpoints
        var httpClient = _app.CreateHttpClient("yourapp");

        // Test actor behavior through HTTP API
        var response = await httpClient.PostAsJsonAsync("/orders", new
        {
            OrderId = "ORDER-001",
            Amount = 100.00m
        });

        response.Should().BeSuccessStatusCode();

        // Verify data was persisted to real database
        await using var connection = new SqlConnection(connectionString);
        await connection.OpenAsync();

        var events = await connection.QueryAsync<string>(
            "SELECT EventType FROM EventJournal WHERE PersistenceId = 'order-ORDER-001'");

        events.Should().Contain("OrderCreated");
    }

    public async Task DisposeAsync()
    {
        if (_app is not null)
            await _app.DisposeAsync();
    }
}

讨论

基于 GitHub Discussions。登录 GitHub 即可参与讨论、点赞、订阅更新。