在类中实现 IhttpHandler 和 IConnectionIdFactory(SignalR)

本文关键字:IConnectionIdFactory SignalR IhttpHandler 实现 | 更新日期: 2023-09-27 17:55:14

我有一个类SignalRConnection .在这里,我想为 signalR 生成一个连接 ID。如果会话为空,我想要一个新的连接 ID,否则返回相同的连接。我尝试实现IhttpHandler以获取类中的上下文和connectioId的IConnectionIdFactory。我的代码是这样的:

>  public class SignalRConnection :  
    IHttpHandler,IConnectionIdFactory,IRequireSessionState                                
    {
        string conId;
        public bool IsReusable
        {
            get { return true; }
        }
        public void ProcessRequest(HttpContext context)
        {
            if (context.Session["activeuser_id"] != null)
            {
                conId = context.Session["activeuser_id"].ToString();
            }
            else
            {
                conId = Guid.NewGuid().ToString();
            }
        }
        public string CreateConnectionId(SignalR.Hosting.IRequest request)
        {
            return conId;
        }
        public string CreateConnectionId(SignalR.Hosting.IRequest request ,string test)
        {
            return conId;
        }
    }

这里的问题是仅执行CreateConnectionId。我已经为 httphandler 配置了配置文件。我希望从 ProcessRequest 生成 conId,并且CreateConnectionIdConnectionId提供给 SignalR 连接。是否可以获取它,或者我的方向错误。

在类中实现 IhttpHandler 和 IConnectionIdFactory(SignalR)

IConnectionFactory 在最新版本的 SignalR 中不再受支持。 请参阅 SignalR 1.0 测试版连接工厂,了解有关获取相同行为的更好方法的建议。

相关文章:
  • 没有找到相关文章