私は私の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);
}
通常のアプリのアクティビティ中に接続を切断すると、メソッドから正しい応答が得られます。
接続変更ステータス: 以前のオープン、現在のクローズ
しかし、接続を再度アクティブにする (データベース サービスを開始する) と、次のイベント シーケンスが開始されます。
- 09.10.41: 接続変更ステータス: 以前のクローズ、現在のオープン
- 09.10.41: 接続変更ステータス: 以前のオープン、現在のクローズ
- 09.10.51: 接続変更ステータス: 以前のクローズ、現在のオープン
- 09.10.51: 接続変更ステータス: 以前のオープン、現在のクローズ
- 09.11.01: 接続変更ステータス: 以前のクローズ、現在のオープン
- 09.11.01: 接続変更ステータス: 以前のオープン、現在のクローズ
- 09.11.12: 接続変更ステータス: 以前のクローズ、現在のオープン
- 09.11.12: 接続変更ステータス: 以前のオープン、現在のクローズ
アプリはデータベースにクエリを実行できますが、接続状態はクローズ状態のままです。
私が間違っていることは何ですか?
前もってありがとう、サミュエル