使用Signalr 3.0升级到RC2会导致“InvalidOperationException:'ProgressHub'Hub无法解析。”

时间:2016-05-27 05:56:32

标签: signalr asp.net-core asp.net-core-mvc

我正在从RC1升级到RC2。我使用了一个新的工作项目,并将我的代码移到了这个容器上。

我有一个CSV文件下载部分,我使用SignalR将其发送回下载和处理的浏览器。我移动了代码,我在页​​面上收到以下错误:

An unhandled exception occurred while processing the request.
InvalidOperationException: 'ProgressHub' Hub could not be resolved.

Microsoft.AspNetCore.SignalR.Hubs.HubManagerExtensions.EnsureHub(IHubManager hubManager, String hubName, IPerformanceCounter[] counters)

Stack Query Cookies Headers 

InvalidOperationException: 'ProgressHub' Hub could not be resolved.
    Microsoft.AspNetCore.SignalR.Hubs.HubManagerExtensions.EnsureHub(IHubManager hubManager, String hubName, IPerformanceCounter[] counters)
    Microsoft.AspNetCore.SignalR.Infrastructure.ConnectionManager.GetHubContext(String hubName)
    Microsoft.AspNetCore.SignalR.Hubs.HubContextService`1..ctor(IConnectionManager connectionManager)
    --- End of stack trace from previous location where exception was thrown ---

在具体here之前已经在Stackoverflow上询问了这种错误,我看了here但没有具体说明某个集线器没有被解析。

我按照Konda.si

列出的here进程

在project.json中,我有以下依赖项:

    "Microsoft.AspNetCore.SignalR.Server": "0.1.0-rc2-20896",

我已将服务添加到Startup.cs ConfigureServices ...

     services.AddSignalR();

和配置..我添加了:

    app.UseSignalR();

我已经添加了必需的信号器jquery ..但它永远无法解决Hub无法解决的事实。

这是我的中心:

using Microsoft.AspNetCore.SignalR;

namespace JobsLedger.Hubs
{
    public class ProgressHub : Hub
    {
    }
}

如何解决此错误?

编辑:刚创建了一个在依赖项,集线器和家庭控制器中添加的vanilla项目我只是使用依赖注入来注入集线器而且我得到了同样的错误..还有别的我需要为RC2做什么?

编辑:所以我删除了集线器的依赖注入到服务中。页面现在加载。 ...并且与集线器的连接已经完成,因此信号器安装正确,但其依赖注入失败了..

1 个答案:

答案 0 :(得分:1)

暂时把我弄错了。而不是放置错误标题并搜索我,而是将以下内容放在:

Microsoft.AspNetCore.SignalR.Hubs.HubManagerExtensions.EnsureHub(IHubManager hubManager, String hubName, IPerformanceCounter[] counters)

在SignalR here找到关于Github的答案。

我怀疑包装有问题,我想我会把它拿出来等待它们成熟。事实证明他们已经提供了信号RC2-final依赖:

    "Microsoft.AspNetCore.SignalR.Server": "0.1.0-rc2-final",

我从Kagamine的帖子中找到了问题的答案。以下是他要说的话:

  

我创建了一个包含SignalR.Server rc2& SignalR.Client。您可以将其添加到NuGet.config:

<add key="Code Comb" value="https://www.myget.org/F/codecomb-rc2/api/v3/index.json" />
  

将它放入project.json:

"Microsoft.AspNetCore.SignalR.Server" : "0.1.0-rc2-final"
  

myget上的这个包已修复了问题#164。

基本上我改变了依赖关系,并将密钥添加到全局nuget.config文件中,并修复了依赖注入的问题。