1
我有一種情況,我試圖從客戶端的一塊,調用服務器端的一塊。服務器端VB.NET定時器
我需要同步做到這一點。不過,在我的服務器端代碼中,我正在調用另一段代碼,我希望它有最多10秒的時間來返回一個值。
如果我在10秒內沒有迴應,我想強制自己的服務器部分將結果設置爲0,並返回給客戶端。
這裏就是我對我的服務器端代碼至今:
Public Function GetWebResult(ByVal inputParameter As Object) As WebReturnObject Implements IWebInterface.GetWebResult
Dim result As New WebReturnObject
Dim webItem As WebItem = Nothing
_timer = New Timers.Timer
AddHandler _timer.Elapsed, AddressOf HandleTimerElapsed
_timer.Interval = 10000 '10 Seconds'
_timer.AutoReset = False
_timer.Start()
webItem = GetAWebItem(inputParameter)
_timer.Stop()
result = webItem
Return result
End Function
Private Sub HandleTimerElapsed(ByVal sender as Object, ByVal e As System.Timers.ElapsedEventArgs) Handles _timer.Elapsed
'result.HasTimedOut = True'
'result.Value = 0'
'How do I then get back into GetWebResult?'
End Sub
我知道這個代碼是沒有的功能。問題是,我不確定如何回到GetWebResult
設置合適的返回值,然後再發送回客戶端。
我已經Google'd這個問題,並且結果很少。我所能找到的最好的資源是類別爲Timers.Timer的MSDN文檔,但即使如此,鑑於我的情況,這並不是非常有用。
如果任何人有任何鏈接,建議等,我會非常感激。