asp.net-core - 我将 .NET CORE 的版本更新为 3.1,但我对 Signal R 有错误
问题描述
我更新了项目的版本并安装了 SignalR。但是我在这里有几个错误:这是我的 ConfigureServices 中的内容,我认为这可能会导致此错误:
services.AddRazorPages().AddMvcOptions(options => options.EnableEndpointRouting = false);
然后我在 Configure 方法中有两个错误:关于 Signal R
app.UseSignalR(route =>
{
route.MapHub<MyHub>(caminho);
});
我已经尝试过使用这样的端点:
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapHub<ChatHub>(caminho);
});
它仍然无法正常工作。我应该怎么办?
解决方案
使用端点路由,您可以尝试:
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddRazorPages();
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//...
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapHub<MyHub>("/myHub");
});
}
如果您的应用需要旧版 IRouter 支持,您可以尝试:
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddRazorPages().AddMvcOptions(options => options.EnableEndpointRouting = false);
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//...
app.UseSignalR(routes =>
{
routes.MapHub<MyHub>("/myHub");
});
app.UseMvc();
}
有关将现有 ASP.NET Core 2.x 项目迁移到 3.x 的更多信息,请查看这篇文章:
推荐阅读
- debugging - 通过 GDB 调试 CPython 时在 Python 源代码中设置断点的最佳方法
- excel - 在 VBA 函数 Split(a,b)(0) 中,第二个括号代表什么?
- cmake - 有没有办法复制现有库但能够修改新库?
- kubernetes - 如何通过在golang中传递像kubectl这样的yaml文件来创建kubernetes对象
- python - Python在Outlook中发送带有签名的电子邮件
- java - 提供文件时未正确获取文件扩展名
- python - 从数据框中创建具有条件逻辑的变量
- javascript - 如何将多个文件选择放入数组中以输出
- javascript - 指定属性返回的js递归函数
- python - NotImplementedError:不支持板