0

我有一堂课SignalRConnection。在这里,我想为 signalR 生成一个 connectionId 。如果会话为空,我想要一个新的连接 ID,否则返回相同的连接。我尝试实现 IhttpHandler 以获取类中的上下文和连接 ID 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 并将其CreateConnectionId提供ConnectionId给 SignalR Connection。可以获得它还是我走向错误的方向.

4

1 回答 1

2

最新版本的 SignalR 不再支持 IConnectionFactory。有关获得相同行为的更好方法的建议,请参阅SignalR 1.0 beta 连接工厂

于 2013-01-23T18:25:38.320 回答