2014-01-21 60 views
0

我正在用一個非常簡單的示例評估SignalR,以便能夠從服務器呼叫客戶端。我在一個空的Visual Studio Web應用程序 - Visual Studio 2012中安裝了使用Nuget的最新版本的SignalR。該場景是:我有一個aspx Publisher,通過單擊發布按鈕將代碼中的消息推入。有一個html客戶端應該接收消息。但是代碼在下面不知道爲什麼消息沒有傳遞給客戶端。我沒有錯誤消息。 SignalR Owin啓動被稱爲確定。如果我輸入/ Signalr/hubs url,我會得到SignalR消息。來自集線器外部的SignalR呼叫客戶端不起作用

的代碼是: 樞紐:

namespace SignalRTest2 
{ 
    public class TestHub : Hub 
    { 

     // not needed?? 
    } 
} 

出版商:

public partial class Publisher : System.Web.UI.Page 
{ 
    protected void cmdBroadcast_Click(object sender, EventArgs e) 
    { 
     var testHub = GlobalHost.ConnectionManager.GetHubContext<TestHub>(); 
     testHub.Clients.All.clientSendMessage(txtMessage.Text); 
    } 
} 

客戶:

<head> 

<script src="Scripts/jquery-1.6.4.min.js"></script> 
<script src="Scripts/jquery.signalR-2.0.1.min.js"></script> 
<script src="/signalr/hubs"></script> 

<title></title> 

<script type="text/javascript"> 

    //Proxy created on the fly 
    var myHub = $.connection.testHub; 

    // Declare a function on the chat hub so the server can invoke it 
    myHub.clientSendMessage = function (message) { 
     //$("#messages").append("<li>" + message + "</li>"); 
     alert(message); 
    }; 

    $.connection.hub.start() 

</script> 

+2

簽出文檔。 myHub.client.clientSendMessage是你想要的, – davidfowl

+0

謝謝。 ;)不知何故,我不能將它標記爲答案,但? – user1829319

回答

1

結帳的docs。 myHub.client.clientSendMessage是你想要的。

相關問題