2016-09-22 60 views
0

我正在使用Angular JS實現signalR實現。當我試圖從API或集線器到ui客戶端調用SignalR事件..它不按預期工作。 WebAPI Call 我沒有得到任何響應在瀏覽器中的SignalR請求。 ServiceCreated for SignalR [在客戶端Resposne在事件] [3]當從WebAPI和Hub調用角Js和SignalR不工作

我沒有收到用於SignalR測試事件的任何resposne(使用Chrome的一些次)。

感謝您的提前。真的很感謝你快速回答。

+0

分享您的代碼 –

回答

0

您必須啓動連接,除了必須在服務器調用的客戶端上寫入「測試」功能之外。

這裏你可以看到一個例子:

客戶端代碼:

<script> 

$(function() { 
    var connection = $.hubConnection("http://localhost:27709/signalr"); 
    var chatHubProxy = connection.createHubProxy('chatHub'); 
    chatHubProxy.on('newMessageAdded', function (name, message) { 
    $("#messages").append("<li>" + name + message + "</li>"); 
    console.log(name + ' ' + message); 
    }); 

connection.start({ transport: 'longPolling' }).done(function() { 
    $('#btnSend').click(function() { 
    chatHubProxy.invoke('newMessage', "Stephan", $('#msg').val()); 
    $('#msg').val('').focus(); 
    });  
}); 

}); 

</script> 

服務器:

public class ChatHub : Hub 
    { 
    public void NewMessage(string name, string message) 
    { 
    Clients.All.newMessageAdded(name, message); 
    } 
} 

的是,你寫的梅索德/功能上是很重要的服務器和客戶端一樣(沒有拼寫錯誤)。

關注Pascal和Camelcase的集線器,方法,...: - 在客戶端上,代理名稱是Hub類名稱的駝峯版本。

順便說一句:爲什麼你不使用生成的代理?