我有一堂课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。可以获得它还是我走向错误的方向.