问题描述
我正在.net core 3.1中创建一个SignalR服务器。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSignalR();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
...
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapHub<MyHub>("/msgs");
});
}
我的Hub类如下:
public class MyHub : Hub
{
public MyHub()
{
}
public void SendMsg()
{
Clients.All.SendAsync("MsgFromServer",notificationCount);
}
public override Task OnConnectedAsync()
{
// some login
}
public override Task OndisconnectedAsync(Exception exception)
{
// some logic
}
}
启动应用程序时,我收到一条消息,指出该应用程序正在控制台窗口的端口5000中运行。
我在许多站点中看到,在将signalr/hubs
附加到托管URL时,我将下载Java脚本代码,这表明SignalR服务器正在成功运行。但是,当我使用以下URL http://localhost:5000/signalr/hubs
进入浏览器时,我得到了:
当我点击http://localhost:5000/msgs
时,我得到一个回应,说明:
需要连接ID
我在这里想念什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)