我有一个班级SignalRConnection
。在这里,我想为signalR生成一个connectionId。
如果会话为null,我想要一个新的连接Id,否则返回相同的连接。我试图实现IhttpHandler以获取类中的上下文,并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
为{{1}提供服务到SignalR Connection.Can它可以获得,或者我正朝着错误的方向前进。