0

クラスがありSignalRConnectionます。ここで、 signalR の connectionId を生成します。セッションがnullの場合は新しい接続IDが必要です。それ以外の場合は同じ接続を返します。クラスのコンテキストとconnectioIdを取得するために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 用に構成された構成ファイルがあります。conId を ProcessRequest から生成し、SignalR Connection にCreateConnectionId提供するConnectionId必要があります。取得できるか、間違った方向に向かっていますか.

4

1 に答える 1

2

IConnectionFactory は、SignalR の最新バージョンではサポートされなくなりました。同じ動作を実現するためのより良い方法に関する推奨事項については、SignalR 1.0 ベータ接続ファクトリを参照してください。

于 2013-01-23T18:25:38.320 に答える