c# - 是否可以在多个中间件中使用同一个路由器?

标签 c# asp.net-core asp.net-core-mvc

在 Startup.cs 中我想配置 2 个中间件:

  1. 处理 websocket 请求但需要特定动态路由端点的 app.Use(或 app.Map with app.Use)。
  2. 具有属性路由的 app.UseMvc()。

在这种情况下,如何在 MVC 中创建和重用路由器?

附言。这是我的相关问题,我从不同的角度看待同一个问题:Opening a websocket channel inside MVC controller

最佳答案

我有类似的问题,在检查源代码后我发现 UseMvc 方法创建了它自己的 RouteBuilderIRouter 实例。这意味着您在使用 UseMvc 时无法控制路由创建。

所以我建议创建一个 UseMvc 的替代方案,它将创建两个路由映射到不同的处理程序,一个映射到 Mvc,第二个映射到 Websocket。虽然我还没有测试过,但希望它能有所帮助。

关于c# - 是否可以在多个中间件中使用同一个路由器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35587656/

相关文章:

c# - 如何创建一个在 WPF 中拖动时调整窗口大小的按钮?

c# - AspNet Identity - 重复外键的自定义 IdentityRoleClaim 和 IdentityUserRole 和 IdentityUserClaim

asp.net - .net 核心中的中间件不起作用,让我介入

asp.net-core-mvc - .Net Core SignalR - 连接超时 - 心跳计时器 - 连接状态更改处理

c# - MVC 6 - 如何要求密码来执行 Controller 操作?

c# - 如何动态添加 HTML 元素 (ASP.NET)

c# - 如何用gridview控件的值填充文本框?

c# - 从 WordprocessingDocument 文档中删除 WebExtensionPart 后损坏

c# - ASP.NET Core线程中默认的IServiceProvider安全吗?

asp.net-core - 如何将 IdentityManager 与 AspNetCoreIdentity 结合使用