.net-core - 由于 IOException 与服务器的连接中断:无法从传输连接中读取数据:
问题描述
堆栈:.NET Core 3.1、Causal Cluster Neo4j (3.5.14)、Neo4j Driver (1.7.0)
我们正在开发社交应用程序,其中视频源从 neo4j 数据库加载,它用于某些分页并在随机页面上抛出连接错误。我观察到,当我持续使用该应用程序时,它工作正常,但如果我保持空闲 2-3 分钟并滚动提要,那么 api 会抛出错误。请参阅下面的异常
“发生一个或多个错误。(螺栓+路由://IP:端口/的服务器由于错误不再可用:与服务器的连接因 IOException 而中断:无法从传输连接读取数据:连接尝试失败因为连接方一段时间后没有正确响应,或者由于连接的主机没有响应而建立连接失败”
下面提到的是 Neo4j 上下文类
public class Neo4jContext
{
private IDriver _driver;
private ConnectionString _connectionString;
public Neo4jContext(IOptions<ConnectionString> connectionString)
{
_connectionString = connectionString.Value;
if (_driver == null)
{
CreateDriver();
}
}
public void CreateDriver()
{
_driver = GraphDatabase.Driver(_connectionString.Server,
AuthTokens.Basic(_connectionString.UserName, _connectionString.Password));
}
public ISession GetSession()
{
return _driver.Session();
}}
下面是建立连接后我获取数据的代码
using (var session = _context.GetSession())
{
var query = GetQuery(obj, ref parameters);
var response = session.Run(query, parameters);
result.Data = response.ToList();
result.Success = true;
return result;
}
请注意我们正在使用单例范围的另一件事。
解决方案
推荐阅读
- python - 有效的“序列对齐”比较两个集合列表以查找匹配项 - python
- vba - int 数组返回到上一条记录
- jquery - 如何让 Greasemonkey 脚本在没有特定 ID 或类的情况下单击 a-href
- python - Python itertools切片停止位置变量
- django - Django 填充 DateTimeField 验证错误
- reactjs - React (CRA) 和 Asp.Net Core WebAPI 外部登录 CORS 问题
- html - 如何通过 html (Angular) 更改 mat-slide-toggle 的颜色
- ios - 我们需要将 iOS 部署目标设置为 13.0 吗?
- javascript - 如果我的 for in 循环中的属性低于 1000,我需要发出警告
- angular - 如何更改角度材料输入中线条的颜色?