2013-07-26 48 views
1

我做了一个简单的聊天应用程序。 signalR给我留下了深刻的印象。SignalR为所有客户端调用asp.net方法?

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

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

但是,例如,如果其他客户端更改汽车并将更改发送到WCF服务,服务会将新数据更新到数据库。那么是否有一个选项可以将此更改显示给其他人使用SignalR ..

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

我听说这是用WCF双面打印完成的,但是如果SignalR可以打印,我很感兴趣?

回答

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 
     }); 
相关问题