Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net中使用Ajax进行数据库查询和倒计时~难题_Asp.net_Ajax_Timer - Fatal编程技术网

ASP.Net中使用Ajax进行数据库查询和倒计时~难题

ASP.Net中使用Ajax进行数据库查询和倒计时~难题,asp.net,ajax,timer,Asp.net,Ajax,Timer,我问了好几次,但必须再问一次,因为我不知道该怎么办: 在我的页面上,我有一个拍卖系统 每一秒我都必须: 获取信息,如果任何投标人在它的出价->数据库查询 将计时器倒计时一秒 如果有新的投标人(显示的历史记录,bla),用信息更新一些面板 我(有趣的)问题是,在Updatepanel中只有一个简单的ASP.Net Ajax计时器(我必须有它,因为我需要DAL等等),只有标签计时器和倒计时需要超过1秒钟 这意味着,当我运行计时器时,它只将标签转换为DateTime,删除1秒并更新标签,在正常的1

我问了好几次,但必须再问一次,因为我不知道该怎么办: 在我的页面上,我有一个拍卖系统

每一秒我都必须:

  • 获取信息,如果任何投标人在它的出价->数据库查询
  • 将计时器倒计时一秒
  • 如果有新的投标人(显示的历史记录,bla),用信息更新一些面板
我(有趣的)问题是,在Updatepanel中只有一个简单的ASP.Net Ajax计时器(我必须有它,因为我需要DAL等等),只有标签计时器和倒计时需要超过1秒钟

这意味着,当我运行计时器时,它只将标签转换为DateTime,删除1秒并更新标签,在正常的10秒内,它不会运行10次,只有8次

所以在10秒内我损失了2秒

我不想在…中开始查询数据库时出现图像

怎么办


我发现表演不是太慢。 计时器不是每秒钟启动一次

我在Debug.Writeline中填充了毫秒开始和结束计时器刻度,以下是3个示例:

  • 2009.11.18 13:13:21:1821
  • 2009.11.18 13:13:21:1821
  • 2009.11.18 13:13:22:7021
  • 2009.11.18 13:13:22:7021
  • 2009.11.18 13:13:24:2421
  • 2009.11.18 13:13:24:2421
因此,它在毫秒内结束,但它不是在正确的间隔(应该是1000毫秒!)


如守则所愿:

      protected void Timer1_Tick(object sender, EventArgs e)
    {
        System.Diagnostics.Debug.WriteLine(DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss:ffff"));
        DateTime dt = DateTime.Parse(lblTimer.Text);
        dt = dt.AddSeconds(-1.0);
        lblTimer.Text = dt.ToString("HH:mm:ss");
        System.Diagnostics.Debug.WriteLine(DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss:ffff"));
    }
(二)


我现在知道答案了: 计时器位于更新面板中,因此将添加300毫秒的通过时间,因为每次imaginery回发都会重新启动计时器

将计时器从更新面板中取出,并在面板->Win中获取触发器。
计时器每1秒响一次。

我会让服务器提供所有相关细节,即物品的出价和剩余拍卖时间。客户机不应进行该计算,原因正是您所描述的,客户机系统只需重载,您将开始错过周期。是的,对于serer do计算等,它在一个业务类中。请参见编辑。计时器似乎每1,4-1,6秒启动一次,而不是1秒。是否响应时间为200-300毫秒(x2,因为双向),计时器在第一次返回后开始计时?请发布您的代码,我不确定我是否了解倒计时计时器是如何实现的。请参阅编辑。它由页面加载(如果是回发)填充,值为30分钟
                            <asp:UpdatePanel ID="up1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
    <asp:Timer ID="timeAD" Interval="1000" Enabled="true" runat="server" ontick="Timer1_Tick">
</asp:Timer>
<asp:Label ID="lblTimer" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>