Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 随机sql连接可以';这是一个无法确定的问题_C#_Sql Server_Sqlconnection - Fatal编程技术网

C# 随机sql连接可以';这是一个无法确定的问题

C# 随机sql连接可以';这是一个无法确定的问题,c#,sql-server,sqlconnection,C#,Sql Server,Sqlconnection,我们的代码很简单 using (var context = dbNewsEntities.CreateContext()) { CheckClient(clientId, context); var articles = context.GetArticlesForRSS(clientId, 0, ArchiveStartDays, false); } 我们随机会遇到sql连接问题。我使用windbg检查SqlConnection,实际上池中有

我们的代码很简单

using (var context = dbNewsEntities.CreateContext())
{
            CheckClient(clientId, context);

            var articles = context.GetArticlesForRSS(clientId, 0, ArchiveStartDays, false);
}
我们随机会遇到sql连接问题。我使用windbg检查SqlConnection,实际上池中有100个(默认)连接

但是,当我使用所描述的方法检查这些连接时,它们都是关闭的。(因为_innerConnection对象是System.Data.ProviderBase.DbConnectionClosedNeverOpened,而不是我们正在执行的某些方法)

当池中有100个关闭的连接时会发生什么?我假设c#代码只会选择一个而不是创建一个。我说得对吗


非常感谢

对不起,现在我意识到我们的代码并不像我说的那么简单

结果是另一个函数中隐藏了一些代码,但没有正确关闭。 如果对任何人有帮助,您可以使用:

SELECT 
  DBID, 
  DB_NAME(dbid) as DBName, 
  COUNT(dbid) as NumberOfConnections,
  loginame as LoginName
FROM
    sys.sysprocesses
WHERE 
  dbid > 0 
GROUP BY 
   dbid, loginame
若要查看数据库中有多少个连接,若未正确捕获实时系统的异常,则在windbg中,可以使用

.foreach (ex {!dumpheap -type System.Data.EntityException -short}){.echo "********************************";!pe ${ex} }

这将打印您需要的异常和堆栈跟踪

你得到的确切例外情况是什么?