2013-07-26 47 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 
     }); 
相關問題