首页 > 解决方案 > 客户何时适合与 SignalR 服务重新协商?

问题描述

我试图了解.negotiate步骤返回的访问令牌SignalR Service

[FunctionName("negotiate")]
public static SignalRConnectionInfo Negotiate(
    [HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequest req,
    [SignalRConnectionInfo(HubName = "chat")]SignalRConnectionInfo connectionInfo)
{
    return connectionInfo;
}

基本上,我正在尝试确定何时应该重新协商以保持连接打开。如果令牌过期,客户端如何知道它需要再协商一次才能发送和接收实时消息?

标签: c#websocketsignalrazure-functionssignalr.client

解决方案


  1. 深入了解Azure SignalR SDK 代码,默认访问令牌生命周期似乎为 1 小时。

  2. 虽然SDK 似乎支持自定义生命周期,但服务绑定似乎并未公开它

    使用 3,不要认为你真的需要它,但你可以在它的 repo 上提出问题或贡献 PR 来支持它。

  3. @microsoft/signalr包中,您可以启用自动重新连接手动重新连接。我相信图书馆会在内部自行处理协商电话。


推荐阅读