我们将Hotchocolate 10.4.3用于我的.net核心服务。我们使用的是代码优先的方法。所有设置都在startup.cs中,与他们的星球大战示例完全相似。Hotchocolate网站说请求的默认超时时间是30秒,但我发现我的应用程序在1分钟后抛出了Transaction错误。我想增加到2分钟。
还有为什么服务器在超时异常后仍然执行所有操作。在我所有的代码都得到正确执行之后,我总是在最后看到Transaction错误。
如果一切都能正常运行,为什么还要抛出错误?
我还在学习graphql。如果有什么不正确的地方,请纠正我。
在HotChocolate v10中,当您在Startup的ConfigureServices((方法中添加服务时,您可以设置执行超时:
services.AddGraphQL(
SchemaBuilder.New()
.AddQueryType<Query>()
.Create(),
new QueryExecutionOptions { ExecutionTimeout = TimeSpan.FromMinutes(2) });
他们在这里有一个很好的例子:https://github.com/ChilliCream/hotchocolate-examples
关于执行选项的文档:https://chillicream.com/docs/hotchocolate/v10/execution-engine/execution-options
编辑:在v11中,语法发生了变化:
services
.AddGraphQLServer()
.AddQueryType<Query>()
.SetRequestOptions(_ => new HotChocolate.Execution.Options.RequestExecutorOptions { ExecutionTimeout = TimeSpan.FromMinutes(10) });