我最初将 Blazor 应用程序开发为 Blazor 服务器应用程序,但长期目标是在 Web 程序集 + 服务器配置中部署相同的应用程序。
我的偏好是在创建 Blazor 服务器原型时从编码的第一天开始采用 GraphQL,但这会造成 GraphQL 客户端代码和 HotChocolate 服务器代码在同一进程中运行的情况。这可能吗?
HotChocolate 文档中的以下代码显示可以通过在 schema.Execute(q) 中表达查询来向 Hotchocolate 提交 GraphQL 查询,但是我更喜欢编写完整的 GraphQL 堆栈并在完整堆栈运行时跳过网络活动在单个 Blazor 服务器进程中。
https://github.com/ChilliCream/hotchocolate-docs/blob/master/docs/introduction.md
public class Query
{
public string Hello() => "World!";
}
var schema = SchemaBuilder.New().AddQueryType<Query>().Create();
var executor = schema.MakeExecutable();
Console.WriteLine(executor.Execute("{ hello }").ToJson());