Aktywni użytkownicy w ASP.NET

0

Cześć czy w ASP.NET jest możliwość wyświetelnie listy aktywnych użytkowników ?

1

Tak.

0

Znasz może jakąś literature gdzie mógłbym sie nauczyć jak to zrobić :)

1

a) dodać swój customowy middleware, który będzie gromadził zalogowanych użytkowników gdy wysyłają requesty.

b) wysyłać calle z jsa losowo co 5-10min :D

c) ???

1

Co masz na myśli? Chodzi Ci o użytkowników którzy w danym momencie korzystają z aplikacji?

0

Tak własnie i szukam jakieś literatury poradnika gdzie mógłbym się tego nauczyć wyświetlać :)

2

Ja bym dodał do tabeli użytkownika kolumne w rodzaju lastActiveAt date i updatował przy każdym wysłanym zapytaniu do serwera, wtedy możesz sprawdzać wysztkisch używtkowników gdzie lastActiveAt w ciągu ostatnich 5 min, to da Ci mniejwięcej obraz . Jako że protokół http jest stateless czyli nie ma ciągłego połączenia między klientem a serwerem nie jeteś w stanie tego sprawdzić dokładnie.

5

@liwaskiewicz:

Co każdy request chcesz robić update w bazie? Oo, wydaje mi się, że dużo tego będzie

ja to bym nadal poszedł w kierunku Middleware + jakiś serwis z static dictionary zamiast spamować do db przy każdym zaciągnięciu jsów itd

1
WeiXiao napisał(a):

@liwaskiewicz:

Co każdy request chcesz robić update w bazie? Oo, wydaje mi się, że dużo tego będzie

ja to bym nadal poszedł w kierunku Middleware + jakiś serwis z static dictionary zamiast spamować do db przy każdym zaciągnięciu jsów itd

To też jest rozwiązanie, Jednak nie widzę nic złego w updatowaniu rekordu użytkownika przy każdym zapytaniu, nie jest to skomplikowana operacja na nie zindeksowanych rekordach.

1

To jest bardzo słabe rozwiązanie. Po pierwsze - po co ci ta informacja w bazie? Po drugie - w przypadku małej aplikacji to można jeszcze jakoś przeżyć ale jeśli system będzie obsługiwał wielu użytkowników to lepiej chyba wykorzystać zasoby na ich obsługę a nie liczenie zalogowanych. Prosty MemoryCache załatwi sprawę

0

@WeiXiao: a jak ten static dictionary się skaluje?

@var: no właśnie w przypadku dużego systemu MemoryCache sprawy nie załatwi, to zadziała tylko w małym systemie, któremu wystarczy jedna instancja. Ale ja bym nie szedł taką drogą, no chyba że to projekt na studia.

1

@var: no właśnie w przypadku dużego systemu MemoryCache sprawy nie załatwi, to zadziała tylko w małym systemie, któremu wystarczy jedna instancja.

W przypadku dużych systemów chyba najlepiej zastosować jakąś bazę w pamięci, np. Redis. Skalowalność wtedy też nie jest problemem.

0

A jakby użyć signalra i łączyć się do kanału po wejściu na stronę?

1 użytkowników online, w tym zalogowanych: 0, gości: 1