【发布时间】:2019-07-10 23:00:04
【问题描述】:
我有一个基于 ASP.NET MVC 应用程序的 Angular 应用程序,并且有一个仪表板,其中显示了在创建/更新/删除事件中更改的一些平均值和总数。通常这些事件在Controller中实现如下:
Controller.cs:
[HttpPost]
public JsonResult Create(Record record)
{
// code omitted for brevity
return Json(new { Data = data, success = true }, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult Update(Record record)
{
// code omitted for brevity
return Json(new { Data = data, success = true }, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult Delete(int id)
{
// code omitted for brevity
return Json(new { Data = data, success = true }, JsonRequestBehavior.AllowGet);
}
但是,每次执行这些方法后,我都需要调用相应的 Hub 方法来更新仪表板页面上的数字。
Hub.cs:
public class NotificationHub : Hub
{
public void Update(Record record)
{
Clients.All.updateStatisticsToPage(record);
}
}
所以,我的问题是:
1)如何结合这些方法来更新仪表板页面上的数字?我应该将 CRUD 方法移动到集线器并只使用这种方法吗?我添加了最后一行是为了通知客户当前的统计数据。
[HttpPost]
public JsonResult Create(Record record)
{
// code omitted for brevity
return Json(new { Data = data, success = true }, JsonRequestBehavior.AllowGet);
// send update to all clients
Clients.All.updateStatisticsToPage(record);
}
或者我应该在执行 crud 操作后将方法保留在 Controller 方法中并调用 hub 方法?
2) 当我在一次 crud 事件后更新仪表板页面上的统计信息时,我认为我构建的结构不同于聊天应用程序。因为我只在 crud 事件之后向 Dashboard 组件发送通知。真的吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc angular signalr