我正在使用Angular JS进行signalR实现。当我尝试从应用程序接口或集线器向ui客户端调用SignalR事件时..它没有像预期的那样工作。对于SignalR请求,WebAPI Call在浏览器中未收到任何响应。客户端事件上的ServiceCreated for SignalR响应
我在SignalR的测试事件中没有得到任何响应(有时在chrome中工作)。
谢谢你的预支。真的很感谢你的快速回答。
发布于 2016-09-23 02:53:25
您必须启动连接,除此之外,您还必须在服务器调用的客户端上编写"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,...:-在客户端,代理名称是集线器类名的驼峰大小写版本。
顺便问一下:为什么不使用生成的代理?
https://stackoverflow.com/questions/39643214
复制相似问题