Croupier C# SDK
指南
API 参考
GitHub
指南
API 参考
GitHub
  • 开始使用

    • 指南
    • 安装
    • 快速开始
    • 配置
    • 依赖注入
  • 高级用法

    • 异步处理器
    • 错误处理
    • Unity 集成

异步处理器

异步函数处理器

SDK 支持使用 async/await 模式的异步处理器:

client.RegisterFunction(new FunctionDescriptor {
    Id = "player.update",
    Version = "1.0.0",
    Category = "player",
    Risk = "medium"
}, async (context, payload) =>
{
    // 模拟异步操作
    await Task.Delay(100);

    // 调用数据库
    var player = await _db.GetPlayerAsync(payload);

    return System.Text.Json.JsonSerializer.Serialize(player);
});

异步流处理

client.RegisterFunction(new FunctionDescriptor {
    Id = "player.list",
    Version = "1.0.0",
    Category = "player",
    Risk = "low"
}, async (context, payload) =>
{
    var request = JsonSerializer.Deserialize<ListRequest>(payload);
    var players = new List<Player>();

    await foreach (var player in _db.GetPlayersAsync(request.Limit))
    {
        players.Add(player);
    }

    return JsonSerializer.Serialize(players);
});

取消令牌

client.RegisterFunction(descriptor, async (context, payload) =>
{
    using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(30));

    var result = await _longRunningService
        .ExecuteAsync(payload, cts.Token);

    return JsonSerializer.Serialize(result);
});
在 GitHub 上编辑此页
最后更新: 2026/1/9 14:15
Next
错误处理