【问题标题】:Connecting to serverless Azure SignalR service using Azure functions and their negotiate function使用 Azure 函数及其协商函数连接到无服务器 Azure SignalR 服务
【发布时间】:2021-03-21 20:18:15
【问题描述】:

我已将无服务器 Azure Functions (NodeJs) 集成到无服务器 Azure SignalR 服务中。

我可以通过 Azure 函数中的协商函数将 Javascript 很好地连接到 SignalR。

下面的连接被初始化为我的函数应用程序,它为它返回 signalR uri 和 accessToken,@microsoft/signalr 库知道如何使用它们,并使用它们在内部连接到 signalR

const appUri: string = process.env.FUNCTION_APP_URI as string
const connection: HubConnection = new HubConnectionBuilder()
  .withUrl(appUri)
  .build()
connection.on('newMessage', (message) => console.log(message))
connection.start()
  .then(() => console.log('SignalR listener started.'))
  .catch(console.error)

一切正常。

但是如何从 .Net Core 控制台应用程序中执行相同的操作?

.Net Core 是否也可以使用相同的协商功能? 还是我必须直接连接到 signalR? 哪个库是正确的:

  • Microsoft.AspNetCore.SignalR.Client
  • Microsoft.Azure.SignalR;
  • 其他?

【问题讨论】:

    标签: azure-functions signalr signalr.client asp.net-core-signalr azure-signalr


    【解决方案1】:

    我已将无服务器 Azure Functions (NodeJs) 集成到无服务器 Azure SignalR 服务中。

    请注意,仅当您通过 Azure Functions 绑定或 REST API 使用 Azure SignalR 服务时,才将服务模式设置设置为 无服务器

    更多Azure SignalR Service的服务模式,请查看:

    https://docs.microsoft.com/en-us/azure/azure-signalr/concept-service-mode

    另外,这个文档展示了如何从控制台应用广播实时消息,你可以参考它。

    https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-quickstart-rest-api

    【讨论】:

    • 是的,快速入门为我指明了正确的方向。谢谢。当我缺少诸如“System.Text.Encodings.Web”之类的依赖项时,客户端库会吃掉所有的异常。因此,在 HubConnectionBuilder 中将日志级别设置为 Trace 有助于查看这些错误。
    猜你喜欢
    • 2020-01-21
    • 2023-04-05
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    相关资源
    最近更新 更多