0

我最初将 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());
4

1 回答 1

0

根据 Hotchocolate Slack 频道的一篇帖子,计划于 2021 年 1 月发布的下一版 StrawberryShake 将引入“InMemory 传输”。HotChocolate 的主要开发人员随后确认 InMemory 传输将支持在同一进程中运行的客户端和服务器 GraphQL 代码。

于 2021-01-02T13:00:09.097 回答