【发布时间】:2019-08-26 01:00:03
【问题描述】:
我能够使用其访问密钥从 Asp.Net Web 应用程序连接到 Azure SignalR 服务。 Asp.Net Web App 通过 Azure SignalR 服务创建和托管一个集线器。我创建了一个 c# 控制台客户端并使用 Microsoft.AspNetCore.SignalR.Client 库连接到 Asp.Net Web 应用程序的 SignalR Hub。
问题:
-
我是否应该始终实现像 Asp.Net Web 应用程序这样的中间件并依靠它来创建和通过 Hub 进行通信? 是的,根据 Samara 和其他来源,我们有几个选择。
- 使用控制台应用程序中的 REST API 来托管集线器 (Azure SignalR) 作为服务器,并将客户端\订阅者作为门户提供服务。这支持单向消息传递。
- 使用 Azure Functions 中的 REST API(使其无服务器)将集线器 (Azure SignalR) 作为服务器托管,并将客户端\订阅者作为门户提供服务。这支持单向消息传递。
- 从带有 auth() 层的 Asp.Net 托管 Web API 托管集线器 (Azure SignalR),并通过 API 满足客户端的需求。这支持完整的双向消息传递。
-
是否可以从 c# 控制台直接与 Azure SignalR 服务对话以创建集线器并通过集线器发送我的消息?
- 使用控制台应用程序中的 REST API 来托管集线器 (Azure SignalR) 作为服务器,并将客户端\订阅者作为门户提供服务。这支持单向消息传递。
- 使用 Azure Functions 中的 REST API(使其无服务器)将集线器 (Azure SignalR) 作为服务器托管,并将客户端\订阅者作为门户提供服务。这支持单向消息传递。
我是 Azure SignalR 服务的新手;请协助我解决上述问题。我的问题几乎得到了解答。希望对您有所帮助!
附:人们没有真正的答案,远离
【问题讨论】:
-
您可以使用任何类型的项目来实现您的目标。 SignalR 只是一个实现 websocket 连接的系统,通常与 web 服务结合使用,但这不是必需的。
-
因此,我从控制台客户端找到了一个名为“无服务器”的 github 项目示例。它与 Azure SignalR 服务对话以创建集线器,将消息广播给单个用户到所有用户。但个人用户无法向 Hub 发布消息。如何使它像聊天应用程序一样使两个数据同步。
-
@SamaraSoucy-MSFT,Azure SignalR 服务与 Asp.Net 应用程序和控制台客户端的集成似乎彼此大不相同。与 SignalR 的集成并非无缝。
-
@SamaraSoucy-MSFT,提前感谢您的帮助!
标签: c# azure signalr signalr-hub