如何向我的视图呈现排队数据的实时计数

时间:2019-05-21 06:45:30

标签: c# asp.net asp.net-mvc model-view-controller

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

这是我控制即将到来的客户入队的方法:

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()

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

1 个答案:

答案 0 :(得分:0)

您可以为此使用SignalR:

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

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