信号器在服务器上的时间延迟,在本地工作完美

时间:2012-05-29 12:25:26

标签: jquery asp.net asp.net-mvc-3 signalr

我面临SignalR库的一个独特问题。我正在使用这个图书馆进行在线便士拍卖门户网站。

当我向所有关联用户广播投标人姓名和最高出价者金额时,我会遇到时滞。

但是,相同的代码在本地服务器上运行良好。没有时间滞后。

根据我的理解,目前数据库中只有100个拍卖,并且不应该是向所有用户广播最新出价金额和用户名的问题,并确保连接的用户能够看到更新的最新出价金额和出价者名称。

此外,有些时候我看到这可以在服务器上运行,但是当我尝试更改浏览器的标签(我正在使用谷歌浏览器)并等待几秒钟时,我会遇到这个时间滞后。

        var context = new PetaPoco.Database("DataContext");
        context.Execute("EXEC udsp_TimerUpdate");

        IConnectionManager connectionManager = AspNetHost.DependencyResolver.Resolve<IConnectionManager>();
        dynamic clients = connectionManager.GetClients<Chat>();
        clients.gettime();

        var tmr = context.Query<CurrentBids>(";EXEC udsp_CurrentBidsEndBids;").ToList();
        if (tmr != null)
        {
            foreach (var t in tmr)
            {
                ////Put code here for Shopping Cart                                                               
                context.Execute(";EXEC udsp_AddToCart @0, @1", t.AuctionId, t.BidderName);
                clients.sold("00:00:00", Int32.Parse(t.AuctionId.ToString()), t.BidderName, t.BidAmount);
            }
        }
        var autbid = context.Query<CurrentBids>(";EXEC udsp_CurrentBidsAuto;").ToList();
        Random rand = new Random();
        foreach (var auct in autbid)
        {
            var splt = auct.Timer.Split(':');
            if (rand.Next(2, int.Parse(splt[2]) + 1) == int.Parse(splt[2]))
            {
                Chat.AutoBids(auct.AuctionId);
            }
        }

0 个答案:

没有答案