1

我做了一个简单的聊天应用程序。signalR 给我留下了深刻的印象。

我的问题是,这项技术是否让我们能够调用 asp.net 服务器端方法(例如 aspx.cs 后端中的方法)?

让我解释一下我在说什么。我有一个 WCF 服务,它从数据库中检索数据并将其发送给客户端。在客户端,有一个 getCars() 方法,它在 page_Load 上调用并向用户显示所有汽车。

但例如,如果其他客户端更改汽车并将更改发送到 WCF 服务,则服务会将新数据更新到数据库。那么有没有一个选项可以让 SignalR 的其他人看到这些更改..

像正常的 SignalR sendMessage 一样工作.. 一些客户端向服务器发送消息,并且服务器向所有客户端添加消息,是否有可能使用 ASP.NET 方法对所有具有 signalR 的客户端(当一个客户端调用数据库中的更改来调用对所有客户再次使用该方法)?

我听说这是使用带有 WCF 的 Duplex 完成的,但我对 SignalR 是否可能感兴趣?

4

1 回答 1

0

是的,您可以,因为您使用的是 JavaScript 客户端,所以当客户端进行更改时,您会调用服务器

commandHubProxy.invoke('InformClients').done(function (result) {
            //Call Succeeded
        }).fail(function (error) {
            //log error
        });

在服务器上,该方法通知其余客户端

    public void InformClients(string text)
    {
        Clients.Others.DataUpdated();
    }

然后在其他客户端上,您可以执行 Ajax 请求来刷新数据

commandHubProxy.on('DataUpdated', function () {
            //Refresh the data or inform the user
        });
于 2013-07-28T13:04:21.060 回答