Qualcuno mi sa dare consigli su come gestire la concorrenza coi DB

giovedì 16 settembre 2004 - 19.38

gigimix Profilo | Newbie

Mi spiego:
attualmente, in caso di accesso contemporaneo al db, intercetto semplicemente l'errore con i try-catch.
Quindi: o visualizzo un errore all'utente(da evitare) o all'interno del codice di errore richiamo la stessa funzione che esegue la lettura nel DB(la stessa che contiene il blocco try-catch). La funzione richiama se stessa all'interno del blocco di codice che gestisce l'errore.
Sostanzialmente il client continua il tentativo di lettura finche trova il DB libero.
Non so quali conseguenze può avere questo tipo di chiamate ricorsive.
Stavo pensando ad un thread che gestisce una coda di richieste sia in lettura che in scrittura.
Secondo voi è possibile in un'applicazione web??

trinity Profilo | Guru

Puoi provarci, però attento a non fare confusione con il codice, altrimenti blocchi tutto

gigimix Profilo | Newbie

Grazie ragazzi.
Coach....avevo già pensato ad un webservice ma....prima che mi ci butti dentro, consideriamo quanto segue:
1) Il client chiamerà una funzione che inserirà, in coda all'unico thread che gestirà l'accesso al DB, una operazione. Quindi nel caso di una lettura la funzione potrebbe richiedere come ritorno un DataTable(DataSet con i WebServices).
2) Come gestire questo ritorno, considerando che finchè l'operazione inserita dal client non viene eseguita il client stesso non può ricevere niente indietro? Come gestire i ritorni delle varie operazioni ai client in attesa?
Forse sto pensando a una cosa impossibile?
Siccome non so ancora molto dei webservices puoi spiegarmi a grandi linee la modalità asincrona?

gigimix Profilo | Newbie

Insomma sarò anche duro ma.....alla fine la classe proxy(se non ricordo male)conterrà il codice del metodo web che andrà ad accedere al DB. Quindi io mi chiedo ancora: nel caso di richieste contemporanee al webservice, non ho ancora lo stesso problema di errore di concorrenza simultanea al DB?
Che ne pensi?
Grazie e ciao.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5