首页 > 解决方案 > 如何将入队数据的实时计数呈现到我的视图中

问题描述

我正在创建一个队列系统,我的问题是我需要将队列的实时计数呈现给视图。

这是我将传入客户排队的控件:

public ActionResult SetQueueInfo([Bind(Include = "QueueId,Name,QueueNumber,ServiceId,ServiceName,ServiceLetter")] MyQueue queue/*, int? id,string Name, string QueueNumber, string ServiceLetter, int ServiceId*/, int? id)
{
    if (ModelState.IsValid)
    {
        MyQueue.todayQueue.Enqueue(queue);
        MyQueue.todayQueue.Count();
        db.Queues.Add(queue);
        db.SaveChanges();
        return View(queue);
    }
    return View();
}  

这是我对它们出列的控制:

public ActionResult BtnNext()
{
    System.Threading.Thread.Sleep(1000);
    var first = MyQueue.todayQueue.Dequeue();
    MyQueue.todayQueue.Count();
    TempData["QueueItem"] = first;
    return PartialView("_queuenumber");
}  

现在我正在使用 Ajax 按钮,所以当我单击BtnNext()页面的单个部分时,我会更新。

Count()每当有人入队或出队时,我如何渲染实时数据。

我希望页面的一部分在有人入队或出队时处于活动状态

标签: c#asp.netasp.net-mvcmodel-view-controller

解决方案


您可以为此使用 SignalR:

https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-net-client

但它需要客户端和服务器端的实现侦听器。


推荐阅读