突然之间,当我尝试登录到我的 VB.NET Web 窗体应用程序时,出现此错误:
System.Threading.SemaphoreFullException:将指定的计数添加到信号量将导致它超过其最大计数。
引发此异常的代码行是:
myTemp2Reader.Close()
为什么关闭DataReader
会引发此异常,我如何阻止它这样做?
这始于不久前,当时我注意到在对代码进行一些更改后,我在调试时无法再命中断点。我撤消了更改,但这没有帮助。所以我重置了 IIS,我认为那是信号量的事情开始的时候......
尝试将"Pooling=False"条件添加到连接字符串,然后它将禁用连接池并运行应用程序,没有任何问题。
<connectionStrings>
<add name="dbconnection" connectionString="Data Source=SureshDasari; Initial Catalog=TestDatabase; Persist Security Info=True;User ID=test;Password=test; Pooling=False;" />
</connectionStrings>
有关更多详细信息,请参阅此链接 1 和链接 2。