首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF核心MySql连接未关闭

问EF核心MySql连接未关闭
EN

Stack Overflow用户
提问于 2017-06-14 15:33:10
回答 0查看 1.7K关注 0票数 1

我们已经使用MySql nuget包在.NET核心和实体框架核心中开发了一个项目。

使用以下代码行将上下文添加到依赖注入:

代码语言:javascript
复制
services.AddDbContext<ReadWriteContext>(options => options.UseMySQL(Configuration["Machine:ReadWriteConnectionString"]));

然后在控制器中,这是这样注入的:

代码语言:javascript
复制
public class SystemController : Controller
{
    private readonly ReadWriteContext _dataContext;

    public SystemController(ReadWriteContext dataContext)
    {
        _dataContext = dataContext;
    }

    ...

}

并按如下方式使用:

代码语言:javascript
复制
var hasServices = await _dataContext.Services.AnyAsync();

在日志中,我们可以看到打开和关闭日志行:

代码语言:javascript
复制
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的作用域应该限定为当前请求,但它似乎没有正确关闭连接。

如果能帮上忙就好了?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44538321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档