habe es noch nicht getestet, nur eine Idee .:
habe ich zwei Timer steuert hier.
Timer1
mit einem Intervall von 1 sec.
Timer2
und mit einem Intervall von 10 secs.
Dim tempDateTime As DateTime = Now
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
tempDateTime = tempDateTime.AddSeconds(1)
Label1.Text = tempDateTime
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Dim rs As ADODB.Recordset
rs = dbConn.Execute("SELECT GetDate() as CurrDateTime")
tempDateTime = Convert.ToDateTime(rs.Fields("CurrDateTime").Value)
Label1.Text = tempDateTime
End Sub
I verwendet, nur für die Now
einen temporären Wert zu haben (für atleast 1 Sek.).
Die Idee dabei ist:
Es wird nun weiter laufen, auch wenn Sie an den Server für einen anderen Anruf Wartezeit zu aktualisieren. Daher wird der Timer auf noch ausgeführt, während auf einen anderen Anruf auf dem Server warten. Nach dem neuen Aufruf wird tempDateTime jetzt auf die aktuelle Serverzeit gesetzt, dann wird Timer1 es erneut ausführen. Es ist wie Fälschen, dass es keine Verzögerung beim Abrufen der Serverzeit gibt.
Ich denke, es wird immer eine Verzögerung wegen verschiedener Faktoren geben, das beste Beispiel ist Netzwerkverbindungsgeschwindigkeit. Zu welchem Zweck wirst du es brauchen? –
@CrushSundae, ich stimme dem zu, aber wenn das Formular für lange Stunden geöffnet wird, wird es Minuten, es kann beeinflussen, weil ich die Serverzeit benutze, die im Formular angezeigt wird. Ich benutze das in sehr wichtigen Transaktionen und Validierungen. – Japongskie
Nur eine Theorie, es könnte wegen der ununterbrochenen Anrufe, die Sie jede Sekunde an den Server übergeben, verlangsamt werden. –