1

さまざまなタイム ゾーンの時刻を表示する小さな Web アプリがあります。時間の計算は正しいようです。コントロールを使用してtimerポストバックを生成します。

<asp:Timer ID="Timer1" runat="server" Interval="60000" OnTick="Refresh_Time">
</asp:Timer>

質問:

問題は、ページの更新がサーバーのクロックと同期されていないことです。たとえば、アプリを で開始した場合9.55.30 AM、次のポストバックは です。9.56.30 AMつまり、今、サーバー クロックを監視して、0 秒になったときにアプリを開始する必要があります。のようなもの9.57.00 AM。明らかに、100% 正確ということは決してありません。

理想的には、私が探しているのは、アプリ9.55.15 AMまたはをいつ実行しても9.55.45 AM、次のポストバックが で発生すること9.56.00 AMです。どんな助けでも大歓迎です。

編集

問題を解決するコード

protected void Page_Load(object sender, EventArgs e)
{        
    Timer1.Interval = 1000*(60 - DateTime.Now.Second);

}
4

2 に答える 2

0

コード ビハインドの page_load で、クライアントに送信する実際の間隔を計算し、そこに設定する必要があります。

于 2013-09-26T14:14:25.933 に答える
0

Refresh_Time メソッドで、分に達するまでサーバーにポストバックを待機させることを検討しましたか?

また、ASP.NET の「プッシュ」通知に関する既存の質問をすぐに見つけました。クライアントがサーバー上での時間を知ることができるとは想定できないため、これも良いオプションです。

于 2013-09-26T14:18:38.807 に答える