在 C# 中增加 Neo4JClient 的 HttpClient 超时

Increase HttpClient timeout for Neo4JClient in C#

所以我正在 运行 宁一个相当大的查询,它通过 shell 工作正常,但在使用 Readify 的 GraphClient 抛出 "TaskCancelledException".

时超时

此行为是预期的,因为使用 shell 时查询大约需要 4 分钟才能完成,并且 neo4jclient 使用默认超时 100 秒。

我的问题是:如何增加此超时?

我发现此 post 建议使用 IHttpClient 来增加超时,但 post 已有多年历史,我不知道如何实施该建议。 http://hg.readify.net/neo4jclient/issue/70/taskcancelledexception

(PS: 运行 的查询是:

"match p = shortestPath ((a:Domain{id:"Someid"}))-[:IP]-(b:Domain)) return 个节点(p)

在一个有几十万个节点的图中。

这不是关于将我的查询优化到 运行 更快的问题(虽然我乐于接受建议,但设置深度的上限无济于事,哈哈),这是我必须增加此超时值!

谢谢

显然这已经很晚了,但是 Neo4jClient 已更新为允许您这样做,您可以像这样延长超时:

var client = new HttpClient { Timeout = TimeSpan.FromMinutes(5) };
GraphClient gc = new GraphClient(new Uri("http://localhost:7474/db/data"), new HttpClientWrapper("user", "pass", client));

如果愿意,你可以把它全部写成一行:)