|
|
||||||
|
#1
|
|
|
|
|
Ho un WS che riceve un XmlNode e lo deve memorizzare sul DB.
Avendo normalizzato il DB ho ottenuto 4 tabelle che però ovviamente in fase di inserzione dati vanno accedute tutte. Il problema è che più utenti accederanno al WS e quindi devo permettere la concorrenza senza appesantire troppo il tutto visto che ogni utente è capace che invii anche 100 XmlNode (ovvero faccia 100 chiamate al WS). Indubbiamente non voglio mettermi lì a specificare le DataTables e i constraint nel Dataset perchè sarebbe come rifare il database sotto forma di oggetto e oltre a non averne il tempo mi sembra un po' pesante ricreare ad ogni chiamata del web method tutto quanto. Non so se sia meglio usare i comandi sql e le execute oppure semplici dataset riempiti con i dataadapter (senza specificare a mano le datatable e tutta la struttura). Inoltre avendo accessi multipli se uso i datareader devo implementare una politica di locking a parte (se si come) oppure ci pensano le transazioni: non vorrei leggere metà dati vecchi e metà nuovi (aggiornati da un altro) nel corso della mia transazione. Indipendentemente dalla scelta è sconsigliabile creare un oggetto statico a cui accedono le varie chiamate ai webmethod perhè poi ci sarebbero prolemi di concorrenza anche su tale oggetto vero? Spero mi possiate dire in pratica cosa si fa di solito, quali sono i metodi migliori, le best practices insomma. Grazie, Luigi. |
|
|
|
#2
|
|
|
|
|
> Non so se sia meglio usare i comandi sql e le execute oppure semplici
> dataset riempiti con i dataadapter (senza specificare a mano le > datatable e tutta la struttura). Sarebbe un sovraccarico inutile usare un dataset visto che il dataadapter per le update chiama dei command.execute. > Inoltre avendo accessi multipli se uso i datareader devo implementare > una politica di locking a parte (se si come) oppure ci pensano le > transazioni: non vorrei leggere metà dati vecchi e metà nuovi > (aggiornati da un altro) nel corso della mia transazione. Più ti affidi al locking del db e minore è la performance del db e di conseguenza perdi in scalabilità. La struttura multitier (cioè un servizio a cui i client si collegano) ha proprio lo scopo di alleggerire questo tipo di carico e implementare, se è il caso, una cache. > Indipendentemente dalla scelta è sconsigliabile creare un oggetto > statico a cui accedono le varie chiamate ai webmethod perhè poi ci > sarebbero prolemi di concorrenza anche su tale oggetto vero? Statico non ha quasi mai senso. Singleton è già meglio. |
|
|
| Discussioni simili | |
| Blocco per accessi multipli Ciao a tutti, mi servirebbe sapere se a livello di policy di sicurezza esiste la possibilità di limitare l'accesso al dominio di una stessa utenza ma da più clients. Mi... |
|
| Accessi multipli Ho un DB Access su di una macchina server a cui accedono 5 macchine client. Il problema è che non appena la prima macchina lancia l'applicazione sul server, le altre non vi... |
|
| Recordset multipli con il DataReader Premetto di essere un novellino di asp.net sto scrivendo una pagina web in vb.net che deve stampare una serie di annunci divisi per categorie;gli annunci sono memorizzati in... |
|
| vb.net DataSet & DataReader ciao a tutti. è possibile creare un webservice che restituisca un DataReader? è possibile "trasformare" un dataset in un datareader?? avete degli... |
|
|
Tutti gli orari sono GMT. Attualmente sono le 08:15. | Privacy Policy
|