Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.visual-basic > #18939 > unrolled thread
| Started by | Marco75 <marcoporzi75@gmail.com> |
|---|---|
| First post | 2016-12-06 07:33 -0800 |
| Last post | 2016-12-06 09:07 -0800 |
| Articles | 3 — 2 participants |
Back to article view | Back to it.comp.lang.visual-basic
Alert su nuovo record Marco75 <marcoporzi75@gmail.com> - 2016-12-06 07:33 -0800
Re: Alert su nuovo record Luca D <antaniserse@yahoo.it> - 2016-12-06 08:40 -0800
Re: Alert su nuovo record Marco75 <marcoporzi75@gmail.com> - 2016-12-06 09:07 -0800
| From | Marco75 <marcoporzi75@gmail.com> |
|---|---|
| Date | 2016-12-06 07:33 -0800 |
| Subject | Alert su nuovo record |
| Message-ID | <3b3f5386-ccfc-4b66-a2bf-21df0078159e@googlegroups.com> |
Ciao, sto sviluppando un'app con visual studio 2010 che poi sarà distribuita a diversi client.. vorrei, dopo l'inserimento di un nuovo record, far comparire ai vari client un popup di avviso "Nuovo inserimento!!" a questo punto, gli altri utenti vedono il popup, aprono il form con i dati inseriti e alla chiusura si "spegne" l'avviso fino al prossimo record.. Ho provato con My.Settings.ContaRecordIns e My.Settings.ContaRecordVisti dove ContaRecordIns era di tipo application e l'altro tipo client ma il tipo application non me lo fa aggiornare in quanto di sola lettura.. Qualche suggerimento? grazie Marco
[toc] | [next] | [standalone]
| From | Luca D <antaniserse@yahoo.it> |
|---|---|
| Date | 2016-12-06 08:40 -0800 |
| Message-ID | <8f7203c4-420e-4937-8c31-5dd80d11dad7@googlegroups.com> |
| In reply to | #18939 |
On Tuesday, December 6, 2016 at 4:33:28 PM UTC+1, Marco75 wrote: > Ciao, > sto sviluppando un'app con visual studio 2010 che poi sarà distribuita a diversi client.. > > vorrei, dopo l'inserimento di un nuovo record, far comparire ai vari client un popup di avviso "Nuovo inserimento!!" [...] Per una cosa del genere, non puoi usare My.Settings per due motivi: - Se marchi la variabile con scope 'Application', questa viene mantenuta nel file .config principale (quindi eventualmente visibile su una share di rete) ma per design sono valori in sola lettura, come hai constatato. - Se marchi la variabile con scope 'User', è accessibile anche in scrittura ma viene salvata in un file user.config sulla macchina client (il framework poi si preoccupa di fare il merge in memoria tra i valori del .config principale e questi) e quindi non accessibile in rete Per questo tipo di notifiche in rete, ci sono vari sistemi, a vari livelli di complessità... visto che a quanto capisco l'applicazione lavora già con un database centralizzato, una soluzione terra-terra è semplicemente creare una tabella di notifiche, inserire i record che servono e poi avere o una piccola applicazione separata che parte insieme alla principale, o un processo integrato che lavora su un thread differente, che fa il polling di quella tabella ogni tot secondi Concettualmente potresti anche fare la stessa cosa scrivendo tu un file XML su share di rete, al posto dei .config standard, e usando poi un FileSystemWatcher per monitorare le modifiche, ma questa è già più bruttarella Pu nell'essere relativamente artigianale, l'opzione tabella db+polling ha il vantaggio di poter essere usata tra client peer-to-peer, senza bisogno di avere un server applicativo specifico dove posizionare un altro componente che lavori con socket/WCF/WebServices o altre soluzioni più strutturate per messaggi tra applicazioni... se però il sistema di notifiche diventa più complesso, può valere la pena guardare queste ultime
[toc] | [prev] | [next] | [standalone]
| From | Marco75 <marcoporzi75@gmail.com> |
|---|---|
| Date | 2016-12-06 09:07 -0800 |
| Message-ID | <a30957ec-d23a-4858-bd87-3314776133f1@googlegroups.com> |
| In reply to | #18940 |
Il giorno martedì 6 dicembre 2016 17:40:35 UTC+1, Luca D ha scritto: > On Tuesday, December 6, 2016 at 4:33:28 PM UTC+1, Marco75 wrote: > > Ciao, > > sto sviluppando un'app con visual studio 2010 che poi sarà distribuita a diversi client.. > > > > vorrei, dopo l'inserimento di un nuovo record, far comparire ai vari client un popup di avviso "Nuovo inserimento!!" > [...] > > Per una cosa del genere, non puoi usare My.Settings per due motivi: > - Se marchi la variabile con scope 'Application', questa viene mantenuta nel file .config principale (quindi eventualmente visibile su una share di rete) ma per design sono valori in sola lettura, come hai constatato. > > - Se marchi la variabile con scope 'User', è accessibile anche in scrittura ma viene salvata in un file user.config sulla macchina client (il framework poi si preoccupa di fare il merge in memoria tra i valori del .config principale e questi) e quindi non accessibile in rete > > Per questo tipo di notifiche in rete, ci sono vari sistemi, a vari livelli di complessità... visto che a quanto capisco l'applicazione lavora già con un database centralizzato, una soluzione terra-terra è semplicemente creare una tabella di notifiche, inserire i record che servono e poi avere o una piccola applicazione separata che parte insieme alla principale, o un processo integrato che lavora su un thread differente, che fa il polling di quella tabella ogni tot secondi > Concettualmente potresti anche fare la stessa cosa scrivendo tu un file XML su share di rete, al posto dei .config standard, e usando poi un FileSystemWatcher per monitorare le modifiche, ma questa è già più bruttarella > > Pu nell'essere relativamente artigianale, l'opzione tabella db+polling ha il vantaggio di poter essere usata tra client peer-to-peer, senza bisogno di avere un server applicativo specifico dove posizionare un altro componente che lavori con socket/WCF/WebServices o altre soluzioni più strutturate per messaggi tra applicazioni... se però il sistema di notifiche diventa più complesso, può valere la pena guardare queste ultime Ho capito.. vista anche la fretta di concludere l'app direi che posso utilizzare una soluzione "artigianale" già usata in Access per verificare le versioni del client: metto un file ini o txt in una cartella di rete dove scrivo i record inseriti metto un file ini o txt in una cartella di rete dove scrivo i record letti nel form home faccio la differenza tra i letti e gli inseriti ogni 5 min con timer e se diversi apro il form di avviso.. In chiusura di maschera lettura dati aggiorno il local che andrà a coincidere con quella in rete grazie Marco
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.lang.visual-basic
csiph-web