【发布时间】:2018-09-19 09:20:39
【问题描述】:
我正在关注 msdn 中关于如何在带有 js 客户端的 .Net Core 应用程序中使用 SignalR 的基本教程。你可以在这里找到它:https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-2.1&tabs=visual-studio
当我尝试运行应用程序来测试这个简单的功能时,我收到 500 协商 POST 错误。
我什至在连接上设置了日志级别,以查看更多类似这样的详细信息
const connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub")
.configureLogging(signalR.LogLevel.Trace)
.build();
我只能从日志中得到:image with dev tool errors
这是我的后端代码: ChatHub 类
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
namespace Tasks.WebApp.Hubs
{
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("Message", user, message);
}
}
}
以及 Startup 类中的配置:
services.AddSignalR();
还有:
app.UseSignalR(routes =>
{
routes.MapHub<ChatHub>("/chatHub");
});
您对我在这里做错了什么有任何见解吗?我对 SignalR 和 JS 很陌生,所以也许我在那里做错了什么,但我尽量严格地遵循本教程。
谢谢!
【问题讨论】:
-
您可以在 github 或其他地方分享您的代码以获取更多详细信息吗? 500错误代码表示,错误在服务器端。您必须查看服务器端错误以获取更多详细信息。
-
我的服务器端代码就是您在教程中看到的。刚刚添加了一个名为 ChatHub 的类,它继承自 SignalR 中的 Hub 类,并且我按照教程中的建议在 Startup 文件中配置了 Signal。所以没有什么新鲜的,没有什么花哨的。只是从教程中复制的代码......这就是为什么我想知道为什么我有这个问题
-
您需要共享服务器代码,否则我们只能猜测。每个细节都有帮助。
-
我已经用所有后端代码编辑了这个问题。如果您有任何提示,请告诉我。
标签: signalr-hub signalr.client asp.net-core-signalr