我有我的 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);
}
当我在正常的应用程序活动期间切断连接时,我从该方法中得到了正确的响应:
连接更改状态:之前的 Open,当前的 Closed
但是当我重新激活连接(启动数据库服务)时,我开始得到这个事件序列:
- 09.10.41:连接更改状态:以前关闭,当前打开
- 09.10.41:连接更改状态:以前打开,当前关闭
- 51 年 9 月 10 日:连接更改状态:以前的 Closed,当前 Open
- 09.10.51:连接更改状态:以前打开,当前关闭
- 09.11.01:连接更改状态:以前关闭,当前打开
- 09.11.01:连接更改状态:以前打开,当前关闭
- 12 年 9 月 11 日:连接更改状态:以前关闭,当前打开
- 09.11.12:连接更改状态:以前打开,当前关闭
该应用程序能够查询数据库,但连接状态保持在关闭状态。
我做错了什么?
在此先感谢,塞缪尔