高需求.NET7 SignalR 不从 WEB API 发送更新

问题描述 投票:0回答:1

我有一个包含以下项目的解决方案:

  1. 网络API
  2. 服务层(包含SignalR)
  3. 领域层
  4. MVC 项目

*Web API 和 MVC 项目运行在不同的端口上

SignalR 在 API 和 MVC 项目中都会被调用,并且当来自 MVC 的调用时工作正常(UI 已更新)。然而,尽管我已经在 API 中的 MVC 项目启动文件中实现了我所做的一切,并且还激活了 CORS,但从 API 发送的任何消息都不会反映在 MVC 中。

需要您的帮助(可能通过示例源代码来更好地理解案例)。

asp.net-core .net-core signalr cross-domain
1个回答
0
投票

您的解决方案下有四个项目,其中

service layer
(包含SignalR)用作类似的公共包,以减少编写重复代码的需要并在需要时直接引用它。非常好,而且可行。

但是我们需要明确的是,在Signalr中,有

SignalR client
SignalR server
的概念。


ASP.NET CORE SignalR 服务器

包含 Hub 类并将注册信号中间件的项目,并将使用

app.MapHub<MainHub>("/mainhub");
。该项目是信号服务器。


在您的场景中,确保只有 MVC 项目引用

service layer
(包括 SignalR)。然后使用
app.MapHub
方法进行注册和使用。

您的API项目不需要添加

service layer
引用,它应该是 信号客户端通过使用.net sdk。然后它可以将消息发送到集线器。

© www.soinside.com 2019 - 2024. All rights reserved.