代码之家  ›  专栏  ›  技术社区  ›  Dimitri

Visual Studio服务器资源管理器未关闭sqlsrvr.exe过程

  •  0
  • Dimitri  · 技术社区  · 5 年前

    更新 在Visual Studio中,当在.mdf数据库上使用服务器资源管理器时,在“实体框架代码优先”方法项目中,每当我手动打开数据库以查看某些表的数据时(单击“显示表数据”),似乎即使按如下方式关闭连接:

    enter image description here

    数据库连接在后台以某种方式保持打开状态。 我得到了“。。。数据库当前正在使用中…“如果要在关闭连接后进行调试,即使在重新启动解决方案时,也会出现错误。

    请注意,这是一个本地解决方案和一个用于测试的本地数据库(.mdf)。没有或没有人在使用这个解决方案。

    如果我不能这样做,那我该怎么办?

    提前感谢您的任何反馈!

    0 回复  |  直到 5 年前
        1
  •  1
  •   Nicolas Hevia    5 年前

    在解决迪米特里提出的问题时,移动评论来回答问题。

    在设置为false的连接字符串中包含“Pooling”标志:

    Pooling=False
    

    ,这是我在生产环境中不推荐的:

    连接池减少了必须打开新连接的次数。池处理程序维护物理连接的所有权。它通过保持每个给定连接配置的一组活动连接来管理连接。每当用户在连接上调用Open时,pooler将在池中查找可用的连接。如果池连接可用,它会将其返回给调用方,而不是打开新的连接。当应用程序在连接上调用Close时,池处理程序将其返回到活动连接的池集中,而不是关闭它。一旦连接返回到池中,就可以在下一次打开的调用中重用它。(...) SQL Server Connection Pooling (ADO.NET)