我是我的SqlConnection:
this._sqlConnection = new SqlConnection(sCxn);
this._sqlConnection.StateChange += new StateChangeEventHandler(_sqlConnection_StateChange);
这是捕获连接状态更改事件的方法:
void _sqlConnection_StateChange(object sender, StateChangeEventArgs e)
{
this._previousState = e.OriginalState;
this._connectionState = e.CurrentState;
log.WriteLog("Connection change status: previous " + e.OriginalState.ToString() + ", current " + e.CurrentState.ToString(), log.INFO);
}
当我在正常的应用活动期间切断连接时,我得到了方法的正确答案:
连接更改状态:上一个打开,当前已关闭
但是当我重新激活连接(启动数据库服务)时,我开始得到这个事件序列:
该应用程序可以查询数据库,但连接状态保持关闭状态。
我做错了什么?
提前致谢, 塞缪尔
答案 0 :(得分:0)
请阅读有关连接池的信息。这是学习如何充分利用它的好参考: http://www.connectionstrings.com/Articles/Show/connection-pooling
从链接中复制: