名称更改时的信号器错误

Signalr error on namechange

所以我刚开始尝试使用 Signalr 来完成我正在进行的项目。我对 JScript 或 Jquery 的经验相当少,但对 C#

的经验相当丰富

我在 Microsoft 文档上为聊天应用制作了教程项目 over here

所以在大多数人看来,这可能是一个相当愚蠢的问题。

在我替换的脚本中

chat.server.Send($('#displayname').val(), $('#message').val());

chat.server.GetServerName($('#displayname').val(), $('#message').val());

并在集线器中添加了功能

public void GetServerName(string name, string message)
{
    // Call the broadcastMessage method to update clients.
    Clients.All.broadcastMessage(name, message);
}

但出现以下错误。

Uncaught TypeError: chat.server.GetServerName is not a function

如果项目的所有其余部分都相同,这是怎么发生的?

如果这是重复的,我深表歉意,我已经找了将近 5 个小时,但在我知道的其他地方没有对我的问题做出明智的回答。

通常从 SignalR 客户端调用时需要以小写开头的方法名称

chat.server.getServerName($('#displayname').val(), $('#message').val());

GetServerName 替换为 getServerName

使用 Hub 的 invoke 方法从客户端调用服务器方法:

yourHub.Invoke("GetServerName", $('#displayname').val(), $('#message').val());