Witajcie :). Klient z usługą łączy się poprzez NET TCP Binding. Z racji tego, że klientów będzie max 20 klient utrzymuje połączenie dzięki czemu usługa może poprzez kontrakt zwrotny wysyłać do klienta polecenia.
Bazę "aktywnych połączeń" przechowuję w statycznej liście.
W interfejsie IUserBinding znajduje się metoda
OperationResult BindUser(string Login, string Password);
Jeżeli usługa poprawnie przetworzy metodę pobiera z listy tablicę wszystkich połączeń, a następnie wysyła do każdego z nich za pomocą kontraktu zwrotnego:
void UserOnline(string PublicUserKey);
Z racji tego, że od 10 lat po napisaniu połowy programu widzę, że coś "można zrobić prościej i lepiej" i zaczynam pisać od nowa, spytam od razu. Czy takie informowanie klientów jest zgodne z dobrymi praktykami? Uważam siebie dalej za początkującego programistę i wolę zaczerpnąć rad kogoś bardziej doświadczonego.