【问题标题】:AspNetCore 2.2 Angular SignalR Negotiate always returns 404 Not foundAspNetCore 2.2 Angular SignalR Negotiate 总是返回 404 Not found
【发布时间】:2020-01-12 00:46:14
【问题描述】:

我正在使用

AspNetCore2.2 WebAppplication 角 CLI:8.3.3 节点:10.16.0 操作系统:win32 x64 角度:6.1.10

services.AddSignalR();
app.UseSignalR(config => {
  config.MapHub<NotificationHub>("/notify");
});
this.hubConnection.start().then(c => {
  console.log('connected');
});

startup.cs image 1

startup.cs image 2

【问题讨论】:

  • 如果您也与我们分享 http 请求会很有用。
  • 你是如何尝试连接到 signalR 的?例如,404 的配置非常简单,它试图找到的地址不存在..
  • this.hubConnection.start() 发出此请求。你以前用过 Angular 和 signalR 吗?

标签: c# angular typescript asp.net-core signalr


【解决方案1】:

检查您的代码,看看是否缺少如下代码

import * as signalR from "@aspnet/signalr";

const connection = new signalR.HubConnectionBuilder()
    .withUrl("/notify")
    .build();

connection.start().catch(err => document.write(err));

更新:像这样更改代码的顺序

app.UseSignalR(routes =>
{
    routes.MapHub<CmsCoreHub>("/cmscore");
});
app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});

【讨论】:

  • 能否请您添加完整的 startup.cs。我认为顺序很重要
  • 我添加了关于 statup.cs 的图片,但我不确定。正确保存了这个
  • @ÖnayYalciner 尝试像我的回答一样更改顺序,看看它是否有效
  • 你是我的英雄!我将订单 mvc 路由更改为下面并且可以正常工作。 (对不起我的英语)
猜你喜欢
  • 1970-01-01
  • 2016-11-19
  • 2012-08-16
  • 1970-01-01
  • 2020-08-23
  • 2015-06-09
  • 1970-01-01
  • 2016-03-16
  • 1970-01-01
相关资源
最近更新 更多