我有一个只需向远程主机打开SqlConnection的应用程序。 我的代码是这样的:
SqlConnection sc = new SqlConnection();
sc.ConnectionString = sConnectionString;
sc.Open();
我的网络监控工具打开时运行了应用程序。我注意到有4个本地端口打开,与远程主机的1433端口通信。我预计只会打开一个端口。为什么会这样?
答案 0 :(得分:1)
我猜你没有关闭你的sqlconnection并且已经连续打开,尝试重新启动服务器并(尝试重新启动计算机)。在完成工作后使用此代码。它发生在我之前,这对我有用。
SqlConnection sc = new SqlConnection();
sc.ConnectionString = sConnectionString;
sc.Open();
// do you coding here
// complete all the operations related to this connection
//close the connection
sc.Close();
答案 1 :(得分:1)
如果您有权查看远程数据库服务器中的打开数据库连接,请将其与托管应用程序的计算机中打开的tcp / ip连接进行比较。
如果数据库服务器上打开的连接数与相应的tcp / ip连接匹配,则可以确保打开多个并发连接,并进一步调试。
在SQL Server 2008中,执行sp_who2
或打开活动监视器。您应该能够从结果中识别连接源。在应用程序主机中使用netstat -n
或其他网络监视工具。