我有一個應用程序,我在vb.net寫的。當應用程序啓動時,它連接到mysql數據庫聯機以獲取一些數據,一旦完成它繼續。終止一個.net程序
問題是,有時它卡在mysql的東西,我的意思是在請求什麼都沒有發生後,這導致我的程序鎖定。這可能是因爲互聯網問題或服務器。
有沒有一種方法,程序可以確定x秒已經過去,它沒有任何數據,所以自己終止它。我嘗試使用計時器來執行此操作,但隨着程序請求數據,它會卡住,我的意思是鎖定,因此計時器也鎖定,只有在任務完成後纔會恢復。
我希望當程序即將開始請求時,我可以啓動一個計時器並確定x秒已經過去,所以現在終止應用程序。
請讓我知道我該怎麼做?
感謝,
乾杯, Greatchap
不能給mySql連接字符串添加超時嗎?那麼至少應該在你的線程中產生一個異常來恢復處理。 – Tejs 2012-04-19 18:40:18
好吧,如果您擁有的唯一恢復選項是結束進程,則可以啓動另一個線程,並在超時時間內等待autoResetEvent。如果數據庫響應,則通知該事件,並在該線程中發出信號,直接退出。如果autoResetEvent等待超時,請調用Environment.Exit(1); – 2012-04-19 18:45:21
System.Threading.Timer會做。 – 2012-04-19 18:52:59