Aktywni użytkownicy w ASP.NET

Aktywni użytkownicy w ASP.NET
Michał Warmuz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

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

somedev
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 666
1

Tak.

Michał Warmuz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

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

WeiXiao
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5227
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) ???

LI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
1

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

Michał Warmuz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

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

LI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
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.

WeiXiao
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5227
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

LI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
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.

VA
  • Rejestracja: dni
  • Ostatnio: dni
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ę

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
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.

Aventus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: UK
  • Postów: 2235
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.

E9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 395
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.