我是.NET程序员。最近,我编写了一个客户端 - 服务器应用程序,它使用System.Net.Sockets
进行连接,并使用.NET远程处理进行通信。当客户端数量增加(最多100个)时,服务器应用程序有时会冻结,几分钟后恢复正常。我使用SQL 2005进行池化和超时。
答案 0 :(得分:1)
检查您是否在数据访问代码中处理IDisposable
的所有内容 - 例如,连接。因此,例如,如果您使用的是SqlConnection类,则可以编写如下代码:
using (var connection = new SqlConnection(...))
{
// code to do something with the connection
}
这将确保.NET连接关闭,释放与池的物理SQL Server连接。如果您不这样做,那么池将耗尽可用连接,直到其中一些连接开始超时并自动关闭。