实施SingalR样品放入一个ASP.Net Web站点应用 - 错误在JS(Implementin

2019-07-21 21:35发布

我想实现的SignalR到我的ASP.Net“网站项目”。 (这是现有的应用程序,这是一个网站项目,不能进行切换是一个Web应用程序。)

我收到以下错误,当我尝试运行SignalR示例代码。 (这是基本的股票代码样本。只是想验证我所拥有的一切设置正确之前,我开始落实到我现有的代码这一点。)

这里是我的错误

Unhandled exception at line 71, column 5 in http://localhost:49218/SchoolFinancial/SignalR.Sample/SignalR.StockTicker.js

0x800a138f - Microsoft JScript runtime error: Unable to get value of the property 'client': object is null or undefined

下面是该引发错误使用JavaScript

// Add client-side hub methods that the server will call
$.extend(ticker.client, {
    updateStockPrice: function (stock) {
        var displayStock = formatStock(stock),
            $row = $(rowTemplate.supplant(displayStock)),
            $li = $(liTemplate.supplant(displayStock)),
            bg = stock.LastChange === 0
                ? '255,216,0' // yellow
                : stock.LastChange > 0
                    ? '154,240,117' // green
                    : '255,148,148'; // red

        $stockTableBody.find('tr[data-symbol=' + stock.Symbol + ']')
            .replaceWith($row);
        $stockTickerUl.find('li[data-symbol=' + stock.Symbol + ']')
            .replaceWith($li);

        $row.flash(bg, 1000);
        $li.flash(bg, 1000);
    },

    marketOpened: function () {
        $("#open").prop("disabled", true);
        $("#close").prop("disabled", false);
        $("#reset").prop("disabled", true);
        scrollTicker();
    },

    marketClosed: function () {
        $("#open").prop("disabled", false);
        $("#close").prop("disabled", true);
        $("#reset").prop("disabled", false);
        stopTicker();
    },

    marketReset: function () {
        return init();
    }
});

这里是web.config的设置变化是允许与Web Site项目SignalR工作

(这是Web.Config中的以下部分的内部)

  <modules runAllManagedModulesForAllRequests="true">
  </modules>

我是新来使用SignalR和我从一前一后发现,这应该可以解决我的问题,如果我能得到它的工作。

因此,如果任何人有一个网站项目在ASP.Net我将不胜感激任何意见/建议使用SignalR的经验。

如果它的事项或没有,但我使用的Visual Studio 2012(ASP.Net / C#)和我的网站是在.NET Framework 4.5版本不知道。

在此先感谢您的帮助...

Answer 1:

您收到此错误,可能是因为任何的原因如下: -

1)yourbaseurl / signalr /集线器是给404可以验证在控制台铬页面加载后。 如果您收到此错误,你需要确保集线器路由映射。 运用

RouteTable.Route.MapHubs() 

无论是在您的global.asax应用程序启动或使用一些启动喷油器像WebActivatorEx。

 void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup
        RouteTable.Routes.MapHubs();
    }

2)所有的SIgnalr相关的DLL是兼容的版本。 这不会是一个问题,如果你有库软件包管理器控制台安装。

3)如果上述步骤不是问题,那么问题是,客户端代理都没有得到正确生成。 这意味着,如果你打yourbaseurl / signalr /集线器,你应该可以看到名为相同骆驼情况下,C#类枢纽名义注册的枢纽,

proxies.stockTicker.client 

初始化

proxies.stockTicker.server 

用相同的C#HubProxy声明的函数名称定义。 而所有这些目前的原型如下decalration下。

 $.hubConnection.prototype.createHubProxies

4)如果您是不是能够得到按照步骤3试着将在SignalR.StockTicker的类文件到AppCode生成的代理。

注: - 我只是尝试,并获得样品中Asp.Net 4.5网站的工作。

祝一切顺利!!



文章来源: Implementing The SingalR Sample Into An ASP.Net WEB SITE APPLICATION — Error In JS