0
我正在嘗試填充數據集,但我想限制系統必須將此數據集填充到30秒的時間量。限制一個例程可以運行的時間 - VBNET
我曾嘗試(如在別處SO建議):
Dim T As Date = Date.Now
da.Fill(ds, "DATASET")
Do
If (Date.Now - T).TotalSeconds >= 30 Then
Main.VIEW_Title.Text = "Error In Connection..."
Exit Sub
End If
Exit Do
Loop
但該系統只是da.Fill(ds, "DATASET")
節期間掛起反正,不永遠exectute的「錯誤連接」的消息。如果我將線放入DO
也沒關係,因爲它停在那裏。我需要的是執行fill命令,然後如果它在30秒內沒有完成,讓我來處理這個錯誤。
感謝
設置連接字符串的超時時間,然後處理異常。 – Alejandro
哦,男孩,這裏有很多錯誤。首先,你立即用'Exit Do'退出Do循環,所以難怪這個消息不會出現。其次,'da.Fill'是可阻塞的阻塞調用,意味着它需要在代碼執行繼續之前完成。一般情況下,您需要在另一個線程中使用異步方法,該方法可以進行插入,這並不總是微不足道的。 – Jens
@Jens - 這很有道理,但是我沒有真正做過任何與Async調用有關的東西......是否有可能提供一個例子,我也會做一些研究。謝謝 – SilverShotBee