首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从WebAPI和集线器调用时,Angular Js和SignalR不工作

从WebAPI和集线器调用时,Angular Js和SignalR不工作
EN

Stack Overflow用户
提问于 2016-09-22 23:32:38
回答 1查看 479关注 0票数 0

我正在使用Angular JS进行signalR实现。当我尝试从应用程序接口或集线器向ui客户端调用SignalR事件时..它没有像预期的那样工作。对于SignalR请求,WebAPI Call在浏览器中未收到任何响应。客户端事件上的ServiceCreated for SignalR响应

我在SignalR的测试事件中没有得到任何响应(有时在chrome中工作)。

谢谢你的预支。真的很感谢你的快速回答。

EN

回答 1

Stack Overflow用户

发布于 2016-09-23 02:53:25

您必须启动连接,除此之外,您还必须在服务器调用的客户端上编写"test“函数。

下面是一个示例:

客户端代码:

代码语言:javascript
复制
<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>

服务器:

代码语言:javascript
复制
public class ChatHub : Hub
    {
    public void NewMessage(string name, string message)
    {
    Clients.All.newMessageAdded(name, message);
    }
 }

在服务器端和客户端编写方法/函数是很重要的(没有拼写错误)。

注意集线器,方法的Pascal和Camelcase,...:-在客户端,代理名称是集线器类名的驼峰大小写版本。

顺便问一下:为什么不使用生成的代理?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39643214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档