使用signalR Hub时Rx未定义错误

时间:2012-12-14 07:34:19

标签: system.reactive signalr signalr-hub

我正在尝试使用signalR集线器实现推送通知。我有一个示例代码,当我运行时,我得到一个错误说 JavaScript运行时错误:'Rx'未定义

此错误出现在动态信号器/集线器文件中。 我添加了所有必要的Javascript引用,即jquery,signalR和signalr / hubs。

我缺少什么?

我的代码看起来像这样:

Global.asax文件有此

public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {


            RouteTable.Routes.MapHubs("~/signalr");


        }

我的中心定义如下

 [HubName("HealthCheck")]
    public class MyConnectionClass : Hub
    {
        public static List<string> messages = new List<string>();

        public void GetServiceState()
        {
            Clients.updateMessages(messages);
        }

        public void UpdateServiceState()
        {
            messages.Add(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));

            Clients.updateMessages(messages);
        }

我的客户端在这样的javascript中

 $(function () {
                // creates a proxy to the health check hub
                var healthCheckHub = $.connection.healthCheck;

                // handles the callback sent from the server
                healthCheckHub.updateMessages = function (data) {
                    $("li").remove();

                    $.each(data, function () {
                        $('#messages').append('<li>' + this + '</li>');
                    });
                };

                $("#trigger").click(function () {
                    healthCheckHub.server.updateServiceState();
                });

                // Start the connection and request current state
                $.connection.hub.start(function () {
                    healthCheckHub.server.getServiceState();
                });
            });

此外,我已在客户端添加了所有必需的js引用。 我从here中选择了这个样本 这还不够,或者我错过了什么?

由于

1 个答案:

答案 0 :(得分:0)

鉴于错误是关于Rx没有被定义,我想知道你是否安装了错误的NuGet包。听起来你安装了SignalR.Reactive

我认为this是你真正想要的包。 (请注意,这是一个预发布版本,我认为软件包名称最近发生了变化,因此您所关注的教程可能会略微过时,这可能是导致混淆的原因。)