C# 无法连接到本地MySQL?

C# 无法连接到本地MySQL?,c#,.net,mysql,C#,.net,Mysql,这可能是因为。但在本例中,我的应用程序处于空闲状态,我在conn.open()上的GetConnection()中发生崩溃 由于我是空闲的,我想这与我在后台的队列以及可能的垃圾收集有关?我查看了netstat,发现了16个连接 mysql默认只接受16个连接吗?是因为我打开了太多的连接吗?这是因为没有关闭/处理连接?命令可能与此有关,或者这完全不是问题所在,是MySqlConnection问题吗 TCP 127.0.0.1:7919 Adam-PC:3306

这可能是因为。但在本例中,我的应用程序处于空闲状态,我在conn.open()上的GetConnection()中发生崩溃

由于我是空闲的,我想这与我在后台的队列以及可能的垃圾收集有关?我查看了netstat,发现了16个连接

mysql默认只接受16个连接吗?是因为我打开了太多的连接吗?这是因为没有关闭/处理连接?命令可能与此有关,或者这完全不是问题所在,是MySqlConnection问题吗

  TCP    127.0.0.1:7919          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:7920          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:7921          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:7922          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:7923          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:7924          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:7926          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8782          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8783          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8784          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8785          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8786          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8787          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8788          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8791          Adam-PC:3306          ESTABLISHED
  TCP    127.0.0.1:8792          Adam-PC:3306          ESTABLISHED

你在处理你的关系吗?MySQL本身有连接池,将连接返回到池的方法是处理连接


如果在使用连接后正确地处理连接,则垃圾收集不应造成问题。

我在使用MySQL连接器时遇到过这种情况。我使用的解决方法是通过在连接字符串的末尾添加“pooling=false;”来手动关闭连接字符串中的连接池。这会损害您的可扩展性,但允许您的应用程序运行。

您是否使用某种持久连接/连接池,然后可能不会重用它们?@Piskvor:我没有使用池。我确实看到在我的主类中,我有一个dispose接口和一个将成员函数分类的函数。我怀疑我在主类之外创建了连接,并且没有关闭它们。但是我不知道这是否是问题所在。你能发布一些代码吗?很有趣。我想知道为什么当我关闭我的应用程序时,我仍然有那么多问题。我将假设这是一个dispose问题,没有其他原因导致此问题。您应该真正尝试查找任何未处理的连接。这很可能会解决你的问题。我找到了所有的问题。在dispose()中执行using关键字的类之外,有两个区域没有using关键字。但错误仍然存在。这很烦人,因为这会导致我每隔10分钟手动ctrl-alt-del控制webdev进程(对于asp.net)。我想知道在抛出异常时是否调用dispose。也许我忘了在我的主课上使用,这就是问题所在//在评论帮助中与他人或您自己交谈除了我有5个成员没有using()关键字外,其他所有内容都已处理,但这是因为该对象被传递到一个永远存在的线程中。所以这只会被创造一次所以。。。我不明白。。。即使在停止/启动之间,它也不应该在它存在时创建它,或者在停止时杀死它,所以。。。世界跆拳道联盟。。。这不是问题吗?这很烦人。是的,当发生异常时会调用dispose。关于线程:10分钟后有多少线程在运行?我认为这实际上是个问题。我想除了1之外,我的所有实例都被处理掉了,在几分钟/页面点击之后,我最终积累了很多连接。