我正在从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做什么?
编辑:所以我删除了集线器的依赖注入到服务中。页面现在加载。 ...并且与集线器的连接已经完成,因此信号器安装正确,但其依赖注入失败了..
答案 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文件中,并修复了依赖注入的问题。