C# 从集线器外部进行的信号广播不';行不通

C# 从集线器外部进行的信号广播不';行不通,c#,asp.net-mvc,signalr,C#,Asp.net Mvc,Signalr,根据此处的wiki文章: 我可以通过以下方式让我的MVC应用程序通过我的集线器广播消息: $(function () { // Proxy created on the fly var chat = $.connection.chatterBox; // Declare a function on the chat hub so the server can invoke it chat.client.addMessage

根据此处的wiki文章:

我可以通过以下方式让我的MVC应用程序通过我的集线器广播消息:

$(function () {
    // Proxy created on the fly          
    var chat = $.connection.chatterBox;

    // Declare a function on the chat hub so the server can invoke it          
    chat.client.addMessage = function (message) {
        $('#messages').append('<li>' + message + '</li>');
    };

    // Start the connection
    $.connection.hub.start().done(function () {
        $("#broadcast").click(function () {
            // Call the chat method on the server
            chat.server.send($('#msg').val());
        });
    });
});
通过上面的设置,我可以在几个不同的浏览器上浏览到相同的URL,并且从一个浏览器发送消息将反映在所有其他浏览器上

但是,我现在要做的是从控制器内部发送消息

因此,在我的开箱即用MVC互联网应用程序中,在HomeController中,关于操作,我添加了以下内容:

using ServerHub;

    public ActionResult About()
    {
        ViewBag.Message = "Your app description page.";

        var context = GlobalHost.ConnectionManager.GetHubContext<ChatterBox>();
        context.Clients.All.say("HELLO FROM ABOUT");

        return View();
    }
使用ServerHub;
关于()的公共行动结果
{
ViewBag.Message=“您的应用程序描述页。”;
var context=GlobalHost.ConnectionManager.GetHubContext();
context.Clients.All.say(“来自ABOUT的你好”);
返回视图();
}
但上述措施似乎不起作用。没有错误消息或运行时错误。代码执行,只是我在其他浏览器上看不到消息


我哪里出错了?

您正在调用一个名为“say”的方法,而您的客户端上只定义了一个名为“addMessage”的方法

更改:

    context.Clients.All.say("HELLO FROM ABOUT");
致:


感谢您指出这个错误,它现在可以工作了,但是当我在控制台应用程序中使用相同的代码时,它就不工作了。我已经更新了我的主要帖子,还有一个问题。在给出答案后,您不能更改它。
    context.Clients.All.say("HELLO FROM ABOUT");
    context.Clients.All.addMessage("HELLO FROM ABOUT");