1

を継承するクラスがありPersistentConnectionます。オーバーライドするときOnConnectedは、渡されたクエリ文字列パラメーターのいくつかをチェックして、ユーザーが認証されていることを確認します。そうでない場合は例外をスローしますが、クライアントはまだ接続されていると見なされます。接続済みクライアント リストからクライアントを削除するにはどうすればよいですか?

public class NotificationConnection : PersistentConnection
{
    protected override Task OnConnected(IRequest request, string connectionId)
    {
        if (String.IsNullOrWhiteSpace(request.QueryString["example"]))
            throw new SecurityException("whatever");

        return base.OnConnected(request, connectionId);
    }

    protected override Task OnDisconnected(IRequest request, string connectionId)
    {            
        return base.OnDisconnected(request, connectionId);
    }
}
4

2 に答える 2