Ho bisogno di implementare una qualche forma di meccanismo di comunicazione nella mia applicazione, per inviare notifiche/messaggi da un'istanza dell'applicazione a tutti gli altri. Questo è uno scenario normale in cui qualcuno aggiunge, elemento o elimina e elemento e si desidera informare gli altri utenti che ciò è accaduto.Messaggistica nella rete locale con .NET
L'applicazione viene eseguita sul client e si connette a un database sulla rete locale. Quindi non è come se tutti i client accedessero a un'istanza del server dell'applicazione. Quindi, da quanto so, potrei usare MessageQueues o qualche forma di polling del database dove ho una tabella che memorizza tutti i messaggi (non ideale).
Il problema è che è necessario implementarlo molto rapidamente, quindi purtroppo non può diventare molto complesso, ma è necessario la soluzione più semplice e rapida.
grazie per l'aiuto!
Sì, stavo pensando alla concorrenza Optimistic, ma non è un'opzione per me in quanto ho bisogno di notificare gli utenti quando un nuovo oggetto è inserito (entro un paio di secondi di questo evento). L'aggiunta di un intero livello di messaggistica non è l'ideale, ma consentirebbe a me di utilizzarlo estesamente nel sistema. Il problema è nella mia app di test. Sto ricevendo MSMQ - Problemi con il dominio ... quindi pensa che il polling avverrà a meno che non ci siano altre opzioni. – Richard
MSMQ è un cane. Il modo "giusto" per farlo è probabilmente qualcosa di simile a un sistema di pubblicazione/sottoscrizione, che potresti eseguire da solo o trovare alcune librerie. So che SQL Server Service Broker ha alcune funzionalità di notifica multipla che potrebbero adattarsi ai tuoi scopi (è una coda di messaggi in SQL, progettata per i proc memorizzati per notificare ad altre entità che qualcosa è cambiato). – Spence
Bene, MSMQ e tutte le altre opzioni avrebbero impiegato troppo tempo, quindi l'hanno già implementato usando il polling. Ho appena creato una tabella, la scrivo ogni N secondi e poi se c'è un messaggio per questo utente, lo leggo e lo elabora, quindi rimuovo questo messaggio. E ovunque sia necessario, basta creare un messaggio nella tabella per ogni utente. Quando l'utente si collega, assicurati di cancellare tutti i messaggi in modo che non ottenga 100 messaggi quando accede. È tutto molto semplice, ma funziona proprio come ho bisogno nel nostro piccolo sistema. Grazie. – Richard