首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SignalR Clients.Caller(Clients.Caller.GroupName)不工作

SignalR Clients.Caller(Clients.Caller.GroupName)不工作
EN

Stack Overflow用户
提问于 2018-08-21 18:05:12
回答 1查看 218关注 0票数 0

我正在浏览SignalR上的教程,但我弄不明白为什么它不能工作。

这是可行的:

代码语言:javascript
复制
Clients.Group("TestGroup").displayText(person.Name, person.Message);

这不起作用:

代码语言:javascript
复制
Clients.Group(Clients.Caller.GroupName).displayText(person.Name, person.Message);

javascript代码:

代码语言:javascript
复制
var broadcaster = $.connection.groupHub;
broadcaster.client.displayText = function (name, message) {
    $('#messages').append('<li>' + name + ' said:' + message + '</li>');
};

$.connection.hub.start().done(function () {
    $('#broadcast').off().on("click", function () {

        var group = "GroupTest";       
        broadcaster.server.join(group);
        broadcaster.state.GroupName = group;
        broadcaster.server.broadcastMessage({ Name: $('#name').val(), Message: $('#message').val() });
        broadcaster.server.leave(group);
    });

这对我来说没有多大意义,可能是我遗漏了一些小东西,或者做错了什么。

EN

回答 1

Stack Overflow用户

发布于 2018-08-21 22:45:37

这个问题可以通过转换为string来解决:

代码语言:javascript
复制
Clients.Group(Clients.Caller.GroupName).displayText(person.Name, person.Message);

应该是:

代码语言:javascript
复制
Clients.Group((string)Clients.Caller.GroupName).displayText(person.Name, person.Message);

我认为这是因为Clients.Caller和broadcast.state是动态的。然而,我正在阅读的这本书没有提到这一点,无论是由于错误,还是由于SignalR版本之间的差异

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

https://stackoverflow.com/questions/51946270

复制
相关文章

相似问题

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