You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否不依赖Web服务器直接调用Hot Chocolate执行引擎?

直接调用Hot Chocolate执行引擎(无需Web服务器)

完全可以直接调用Hot Chocolate的执行引擎,不需要依赖HTTP服务器或通过网络请求触发查询。你可以在控制台应用、桌面程序、后台服务等任意.NET环境中直接初始化引擎并执行GraphQL查询。

实现步骤

  1. 安装必要的NuGet包
    需要安装核心的Hot Chocolate包:

    • HotChocolate
    • HotChocolate.Execution
  2. 编写代码示例
    以下是一个极简的直接调用示例:

    using HotChocolate;
    using HotChocolate.Execution;
    
    // 定义GraphQL查询类型
    public class Query
    {
        public string Greet(string name = "Guest") => $"Hello, {name}!";
    }
    
    // 构建Schema并创建执行器
    var schema = SchemaBuilder.New()
        .AddQueryType<Query>()
        .Create();
    
    var executor = schema.MakeExecutable();
    
    // 要执行的GraphQL查询字符串
    var query = @"
        query GreetQuery {
            greet(name: ""Hot Chocolate"")
        }
    ";
    
    // 执行查询
    var result = await executor.ExecuteAsync(query);
    
    // 输出结果
    if (result is IQueryResult queryResult)
    {
        Console.WriteLine(queryResult.ToJson());
    }
    

关键说明

  • 核心逻辑是通过SchemaBuilder构建你的GraphQL Schema,再通过MakeExecutable()生成可执行的引擎实例,最后调用ExecuteAsync()直接执行查询。
  • 你可以根据业务需求扩展Schema,添加Mutation、Subscription、自定义标量类型等,执行方式保持一致。
  • 执行结果IExecutionResult包含查询数据或错误信息,可通过类型判断(如IQueryResult、IErrorResult)进行针对性处理。

内容的提问来源于stack exchange,提问作者JamesL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:57:03