我正在使用Angular JS进行signalR实现。当我试图从API或Hub调用SignalR事件到ui客户端时...它没有按预期工作。 WebAPI Call 我没有在浏览器中收到任何有关SignalR请求的响应。 ServiceCreated for SignalR [客户端事件的重新开始] [3]
我没有在SignalR的测试事件中获得任何转换(在chrome中工作一段时间)。
谢谢你提前。真的很感谢你的快速回答。
答案 0 :(得分:0)
除了必须在服务器调用的客户端上编写“test”函数之外,你必须开始连接。
在这里您可以看到一个示例:
客户代码:
<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类名称的驼峰版本。
顺便说一下:为什么你没有使用生成的代理?