【发布时间】:2021-01-22 20:11:25
【问题描述】:
我将 Azure SignalR 服务与 Azure Functions 结合使用,并且我有以下代码:
public class SignalRHubFunction
{
[FunctionName("SignalRConnected")]
public async Task Run([SignalRTrigger("myhubname", "connections", "connected", ConnectionStringSetting = "AzureSignalRConnectionString")] InvocationContext invocationContext, ILogger logger)
{
logger.LogInformation($"{invocationContext.ConnectionId} connected");
}
}
我很难触发“OnConnected”事件。仅使用基于类的模型给出示例。 而 docs 对我并没有真正的帮助。
文档告诉我 SignalRTrigger 构造函数的 category 参数应该是:connections 或 messages。
所以我使用连接。
必须将此值设置为要触发的功能的消息类别。类别可以是以下值之一: 连接:包括连接和断开的事件 消息:包括除连接类别之外的所有其他事件
我不太明白文档中 event 参数的含义
此值必须设置为要触发的功能的消息事件。对于消息类别,事件是客户端发送的调用消息中的目标。对于连接类别,仅使用已连接和已断开连接。
我猜他们是说你可以在已连接和未连接之间进行选择。
但是,使用上面的代码,触发器永远不会被击中。有什么想法吗?
【问题讨论】:
-
我不会将此标记为答案,因为它不是。但我最终使用了 Azure 团队自己建议的 EventGrid 触发器:youtube.com/watch?v=VTVqV0hZ1EQ。我仍然想知道如何使用传统模型触发这些事件。我也没有办法通过这种方式创建组或将客户端添加到组中。
标签: asp.net-core azure-functions signalr serverless