【问题标题】:Generate the postback at proper time在适当的时间生成回发
【发布时间】:2013-09-26 22:24:32
【问题描述】:

我有一个小型网络应用程序,可以显示不同时区的时间。时间计算似乎是正确的。我使用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 AM9.55.45 AM,下一次回发都应该发生在9.56.00 AM。任何帮助表示赞赏。

编辑

解决问题的代码

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

}

【问题讨论】:

    标签: c# asp.net asp.net-ajax


    【解决方案1】:

    在后面代码的 page_load 中,您需要计算发送到客户端的实际间隔并将其设置在那里。

    【讨论】:

      【解决方案2】:

      您是否考虑过,在您的 Refresh_Time 方法中,让服务器进行某种等待以回发,直到到达分钟?

      另外,I quickly found an existing question on 'push' notifications in ASP.NET。这也可能是一个不错的选择,因为您不能假设客户端可以知道服务器上的时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-29
        • 2010-09-11
        • 2016-01-16
        • 2017-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-10
        相关资源
        最近更新 更多