ASP .NET Core 2与SignalR (1.0.0-alpha2-27025)的 /signalr/negotiate 出现了404错误。

5
我将SignalR添加到ASP .Net Core 2应用程序中。
包含以下软件包: - "Microsoft.AspNetCore.All" 版本为 "2.0.0" - "Microsoft.AspNetCore.SignalR" 版本为 "1.0.0-alpha2-27025" - "Microsoft.AspNetCore.SignalR.Client" 版本为 "1.0.0-alpha2-27025" - "Microsoft.AspNetCore.SignalR.Client.Core" 版本为 "1.0.0-alpha2-27025" - "Microsoft.AspNetCore.SignalR.Common" 版本为 "1.0.0-alpha2-27025" - "Microsoft.AspNetCore.SignalR.Core" 版本为 "1.0.0-alpha2-27025"
请注意,此处保留了HTML标记,请不要删除。
public IServiceProvider ConfigureServices(IServiceCollection services)
{
    services.AddSignalRCore();
    services.AddSignalR();
}

并且

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IServiceProvider serviceProvider)
    app.UseSignalR(routes =>
    {
        routes.MapHub<ManageHub>("manageHub");
    });
}

url:port/signalrurl:port/signalr/negotiate...返回404错误。

url:port/manageHub返回400错误,提示需要连接ID。

我找不到.MapSignalR()方法。

如何在ASP .Net Core中使用SignalR?


您是否尝试使用客户端代码进行测试?我猜SignalR客户端库会处理客户端ID等问题。 - Neville Nazerane
你真是热衷于解决alpha版本的问题。我也很期待团队能够运行核心版本。如果有人愿意在这么早的阶段发布任何东西,我会很感兴趣。 - OrdinaryOrange
普通的橙色,是的,我也害怕alpha版本,所以我创建了一个专门用于SignalR的.NET框架网站。但至少安装应该仍然有效,否则他们不会发布它。 - Neville Nazerane
2个回答

8
您似乎正在使用旧的客户端。ASP.NET Core的SignalR不再使用/negotiate终点。新的SignalR服务器与旧的客户端不兼容,而新的客户端也不兼容旧的SignalR服务器。请查看此公告示例

ASP.NET MVC怎么样? - user5871859
没有任何区别 - MVC 是建立在 Asp.NET/Asp.NET Core 之上的。 - Pawel
你能否看一下这篇关于 SignalR 在 ASP.NET MVC 中出现“访问XMLHttpRequest…”错误的问题 的帖子?谢谢。 - user5871859

3

ASP.NET MVC怎么样? - user5871859

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接