我们已经使用MySql nuget包在.NET核心和实体框架核心中开发了一个项目。
使用以下代码行将上下文添加到依赖注入:
services.AddDbContext<ReadWriteContext>(options => options.UseMySQL(Configuration["Machine:ReadWriteConnectionString"]));然后在控制器中,这是这样注入的:
public class SystemController : Controller
{
private readonly ReadWriteContext _dataContext;
public SystemController(ReadWriteContext dataContext)
{
_dataContext = dataContext;
}
...
}并按如下方式使用:
var hasServices = await _dataContext.Services.AnyAsync();在日志中,我们可以看到打开和关闭日志行:
Opening connection to database 'config_service' on server '10.211.55.5'.
Closing connection to database 'config_service' on server '10.211.55.5'.但是,当我们查看MySql服务器并运行"show full processlist“时,连接仍然显示为处于睡眠状态,并且从未关闭。当您停止.NET进程时,这些连接将关闭并从MySql进程列表中消失。
如何让连接在请求完成时关闭。AddDbContext的作用域应该限定为当前请求,但它似乎没有正确关闭连接。
如果能帮上忙就好了?
https://stackoverflow.com/questions/44538321
复制相似问题