如何在事件发生时进行屏幕客户端更新(MVC)



我是MVC的新手。我目前正在将桌面转换为web应用程序。

当一个对象的事件发生时,我需要对用户视图进行更新。我有一个观察湿度传感器的物体。比方说,当湿度超过70%时,这个物体会触发一个事件。代码可能是这样的:

Private Sub Humidity_Alert(sender As Object) Handles objSensor.Alert
    'Update user chart
End Sub

在桌面应用程序中,我只是像往常一样实时更新视图,但我还不知道如何在MVC中将此事件返回到客户端,而不使用javascript计时器在出现任何警报时发出ajax调用请求。如何解决我的问题?

我建议使用ASP.NET SignalR库:signar.NET

您可以使用它从服务器到客户端进行实时更新。

ASP.NET SignalR是一个面向ASP.NET开发人员的新库,它使向应用程序添加实时web功能变得非常简单。什么是"实时网络"功能?它能够让服务器端代码实时将内容推送到连接的客户端。

一些伪代码示例:

SignalR集线器:

public class HumidityHub : Hub
{
    public void RefreshChart(string data)
    {
        Clients.All.refreshChart(data);
    }
}

客户端代码:

var hub = $.connection.humidityHub;
hub.client.refreshChart= function (data) {
    //refresh your chart    
};
$.connection.hub.start();

服务器代码:

var hubContext = GlobalHost.ConnectionManager.GetHubContext<HumidityHub >();
hubContext.Clients.All.refreshChart(data);

相关内容

  • 没有找到相关文章

最新更新