ASP.NETアプリケーションにログインしている各役割のユーザー数を知りたいです。(管理者)役割と(残りの)役割を持っています。アプリケーション全体ではなく、それぞれのオンラインユーザー数を知りたいです。メソッドはしました:
Membership.GetNumberOfUsersOnline()
ASP.NETアプリケーションにログインしている各役割のユーザー数を知りたいです。(管理者)役割と(残りの)役割を持っています。アプリケーション全体ではなく、それぞれのオンラインユーザー数を知りたいです。メソッドはしました:
Membership.GetNumberOfUsersOnline()
ユーザーを自分で列挙する必要があります。あなたが利用する場合
Membership.GetAllUsers()
利用可能なすべてのユーザーのコレクションを取得します。次に、各ユーザーをループし、IsOnline
プロパティをチェックして、ユーザーがオンラインであるかどうかを確認できます。Roles
ユーザーの役割を決定するために、クラスのメソッドを利用できます。
たとえば、2つのロールadmin
とrest
があり、各ロールでオンラインになっているユーザーの数を表示したい場合は、次のように実行できます。
var adminCount = 0, restCount = 0;
foreach ( var user in Membership.GetAllUsers().Where(u => u.IsOnline) )
if (Roles.IsUserInRole(user.UserName, "admin"))
adminCount++;
else if (Roles.IsUserInRole(user.UserName, "rest"))
restCount++;
// do something with adminCount and restCount
より複雑な役割構造または多くの役割がある場合は、マップを使用して役割ごとの数を保存できます。ロジックはあなたが達成したいことはあなた次第です、これはあなたのカスタムカウントロジックを表現するために必要なすべての部分を提供するはずです。