3 messaggi dal 30 gennaio 2003
Ciao a tutti e grazie per esserci...
Ho un problema che mi fa dannare e spero di trovare qualcuno che possa risolverlo.

Ho un'area che ha due documenti che devono essere aggiornati da 4 utenti. Tale procedura deve essere eseguita in modo da non permettere accessi contemporanei e quindi aggiornamenti simultanei sullo stesso documento, da parte degli operatori. Es.: se "A", loggandosi è entrato nel pannello di controllo per aggiornare uno dei due documenti, "B", pur avendo gli accessi per accedere al pannello di controllo, viene reindirizzato ad una pagina che gli notifica che l'area è occupata.
ho provato con le Session e le Variabili di Applicazione, ma non riesco a mettere in pratica, data la mia poca esperienza, con questi oggetti built-in, a trovare una via adeguata alla corretta procedura.
Grazie per l'aiuto
Cosimo
56 messaggi dal 03 agosto 2005
Ciao,
ho avuto anch'io una necessità simile qualche tempo fa ed alla fine l'ho risolto creando un temporaneo.
Il primo utente che si collega crea un temporaneo sul db. Quando si collega il secondo, se il campo temporaneo è <> da NULL viene reindirizzato ad un'altra pagina.
Questa potrebbe essere una soluzione molto veloce anche se molto grezza
Alex
2.190 messaggi dal 04 marzo 2004
Contributi | Blog
bluesman75 wrote:
Ciao,
ho avuto anch'io una necessità simile qualche tempo fa ed alla fine l'ho risolto creando un temporaneo.
Il primo utente che si collega crea un temporaneo sul db. Quando si collega il secondo, se il campo temporaneo è <> da NULL viene reindirizzato ad un'altra pagina.
Questa potrebbe essere una soluzione molto veloce anche se molto grezza  Alex

E' corretto registrare l'accesso dell'utente sul database, l'unica accortezza da non dimenticare è di cancellare questa chiave alla fine delle operazioni in modo che la risorsa non risulti più inaccessibile. Putroppo istruire l'utente a premere un bottone quando ha finito non basta

Alessio Leoncini (WinRTItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer
1 messaggio dal 12 aprile 2005
novecento ha scritto:
bluesman75 wrote ......
E' corretto registrare l'accesso dell'utente sul database, l'unica accortezza da non dimenticare è di cancellare questa chiave alla fine delle operazioni in modo che la risorsa non risulti più inaccessibile. Putroppo istruire l'utente a premere un bottone quando ha finito non basta


Infatti il problema è che se l'utente si dimentica di premere il bottone, la sessione/documento rimane bloccata.
Una tecnica è quella di realizzare qualcosa che elimina la sessione di lavoro dopo un certo tempo, ma non mi inoltro oltre nel merito perché, a secondo della complessità dell'applicazione, ci sono varie soluzioni che vanno dall'utilizzo del timeout di sessione a timer o servizi realizzati ad hoc.
3 messaggi dal 30 gennaio 2003
Grazie per la tempestività e per le risposte che mi avete fornito, che non hanno risolto il mio problema, non per l'aspetto tecnico da Voi descritto, ma per la mia incapacità a creare un temporaneo (non ho la più pallida idea).

Nel mio database, sono già presenti gli username e le password dei quattro utenti che dovranno operare sul db. Pertanto i permessi di cui essi dispongono, permettono di loggarli solo ad una sezione dell'intero sito.
Grazie ai partecipanti per le soluzioni possibili al mio problema
ciao
Cosimo
Se non interpreto male quello che Novecento e gli altri ti stanno dicendo e' che dovresti creare sulla tua tabella
un nuovo record che aggiorni quando un utente entra per aggiornare un documento. Quando l'utente esce questo
record deve essere contro aggiornato.
Il problema, che presenta varie soluzioni, e' che l'utente potrebbe uscire dall'applicazione senza passare necessariamente dal bottone in cui fai il contro aggiornamento.

Sperando di esserti stato di aiuto

Ciao
"aspwelly" <aspwelly> ha scritto nel messaggio news:336361@...
Ciao a tutti e grazie per esserci...
Ho un problema che mi fa dannare e spero di trovare qualcuno che possa risolverlo.

Ho un'area che ha due documenti che devono essere aggiornati da 4 utenti. Tale procedura deve essere eseguita in modo da non permettere accessi contemporanei e quindi aggiornamenti simultanei sullo stesso documento, da parte degli operatori. Es.: se "A", loggandosi è entrato nel pannello di controllo per aggiornare uno dei due documenti, "B", pur avendo gli accessi
per accedere al pannello di controllo, viene reindirizzato ad una pagina che gli notifica che l'area è occupata.
ho provato con le Session e le Variabili di Applicazione, ma non riesco a mettere in pratica, data la mia poca esperienza, con questi oggetti built-in, a trovare una via adeguata alla corretta procedura. Grazie per l'aiuto
Cosimo

301 messaggi dal 31 maggio 2006
Ciao

Potresti provare con una tecnica tipo presa in carico, mi spiego meglio. Ogni utente può prendere in carico un documento (che cioè rimane bloccato da lui), e rilasciarlo quando a finito la lavorazione. Naturalmente l'utente deve rilasciare il documento quando a finito, in ogni caso puoi prevedere utente/i (chiamiamoli amministratore/i) che possano sbloccare un documento in qualsiasi momento. Puoi anche prevedere che un utente possa lockare un solo documento alla volta, impedendogli di bloccare più di un documento alla volta. In aggiunta puoi anche pensare che un documento bloccato da un un utente A per più di un tot di tempo possa essere preso in carico, autobloccandolo automaticamente, dall'utente B.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.