考慮一個簡單的設置:爲什麼不是ODBCConnection.State可靠?
// _conn is the OdbcConnection with a MySQL-Server (MySQL-Connector 3.51)
// _cmd is a created OdbcCommand
// Constructor has created the objects successfully
public void DoSomething() {
if(_conn.State == ConnectionState.Open)
_cmd.ExecuteNonQuery();
}
現在我的問題是,OdbcConnection.State
是不可靠的。事情是,一段時間後連接丟失,但State
- 屬性不知道任何關於它,並不斷告訴我,連接是打開的,至少直到我嘗試執行一個命令(它優雅地失敗) 。我甚至遇到了State
- 屬性永遠不會刷新,並一直告訴我,連接仍然存在(但命令失敗)。
當然,我可以將Try {...} Catch {...}
塊添加到我的代碼中,但我試圖避免它們,因爲使用至少四行錯誤處理擴展雙行功能有點重。
所以我的問題是:爲什麼不是OdbcConnection.State
可靠,我可以修復它?