我面临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);
}
}