Azure functions 在.NET 5.0中向信号器组添加/删除用户
以下代码一直在.netcoreapp3.1中工作,但在将Http触发函数迁移到.NET 5.0后停止工作:Azure functions 在.NET 5.0中向信号器组添加/删除用户,azure-functions,signalr,.net-5,azure-signalr,Azure Functions,Signalr,.net 5,Azure Signalr,以下代码一直在.netcoreapp3.1中工作,但在将Http触发函数迁移到.NET 5.0后停止工作: public static class AddToGroup { [Function("addtogroup")] public static Task Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = "
public static class AddToGroup
{
[Function("addtogroup")]
public static Task Run(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = "addtogroup/{trnantId}/{userId}")]
HttpRequestData req,
string tenantId,
string userId,
[SignalR(HubName = "testhub")]
IAsyncCollector<SignalRGroupAction> signalRGroupActions,
FunctionContext executionContext)
{
return signalRGroupActions.AddAsync(new SignalRGroupAction
{
UserId = $"{tenantId}_{userId}",
GroupName = tenantId,
Action = GroupAction.Add
});
}
}
公共静态类AddToGroup
{
[函数(“addtogroup”)]
公共静态任务运行(
[HttpTrigger(AuthorizationLevel.Function,“get”,Route=“addtogroup/{trnantId}/{userId}”)]
HttpRequestData请求,
字符串tenantId,
字符串userId,
[信号器(HubName=“testhub”)]
IAsyncCollector信号组操作,
FunctionContext(执行上下文)
{
返回signalRGroupActions.AddAsync(新的SignalRGroupAction
{
UserId=$“{tenantId}{UserId}”,
GroupName=tenantId,
Action=GroupAction.Add
});
}
}
任何人都可以在.NET 5.0中对此代码的等效项提供指导吗?因为编译器的错误是:“……属性‘SignalROutput’在此声明类型上无效。它仅在‘方法、属性、索引器’声明上有效……”。您应该在方法上添加
[SignalR(HubName=“testhub”)]
属性。这是一本书
您还可以在中看到,返回类型
MyMessage
与中先前的signalMessage
具有相同的结构。将编译错误放在一边,如何将用户添加到signalR消息组或如何从组中删除用户?以前,您将SignalGroupAction
添加到IAsyncCollector
,现在您只需从方法返回SignalGroupAction
。这一点在Microsoft的文档网站上记录在哪里@sindoDocs:你分享的那些文件中没有一个是关于这个主题的,既不清楚也不明确。请你给我看一下这些文件中的确切位置,这样我们就可以得出你的答案了。如果两个月后有什么发现,那当然好了。这篇评论是为了团结一致,以应对在使用Azure的同时尝试迁移到5.0的这段真正有趣的时光。