Dati relativamente grandi sul lato client nell'applicazione web

0

Stiamo discutendo sulla creazione di un'applicazione web dove (come da requisiti del cliente), ci saranno dati relativamente grandi (60.000 articoli) da mostrare come vista ad albero.

Supponiamo che ogni elemento sia una stringa di 500 caratteri.

Le mie domande riguardano il mantenimento di tali dati sul lato client.

Fondamentalmente si tratta di un overkill da utilizzare nel modulo web asp.NET con viewstate (correggimi se ho torto).

Quali sono le opzioni migliori per gestire un elenco così grande di elementi con l'offerta di capacità di ordinamento e ricerca su di essi ?

Stavo pensando di portarli una volta e conservarli nella memoria locale, ma poi ho scoperto che la memoria locale era limitata a 5 MB ed è chiaro che abbiamo bisogno di più.

    
posta Ali 30.12.2014 - 08:52
fonte

1 risposta

8

Ho avuto un problema simile in cui avevamo bisogno di visualizzare informazioni su auto e altri prodotti strutturati come un albero (marca automobilistica - > model - > type - > build year). Anche se il browser fosse in possesso di molti dati (non è sicuro), ci sarebbe voluto del tempo per scaricarlo.

Cosa ho fatto: carica il primo livello e carica altri livelli tramite Ajax solo quando è effettivamente necessario per la visualizzazione. Dal momento che dovevamo visualizzare questo come un menu e mostrare il livello successivo molto velocemente con il mouse sui possibili risultati in cui è memorizzato nella cache sul server (se hai bisogno di un ordinamento specifico questo potrebbe diventare un problema).

Lo stesso vale per la ricerca e l'ordinamento. Lascia che sia il server a farlo e carica i risultati. Non dovrai ordinare l'intera struttura in una vista ad albero, ma solo su un livello. Ovviamente questa può essere la parte più difficile a seconda di come sono strutturati esattamente i dati e quali tipi di ricerca e ordinamento si desidera fare.

Anche in una vista ad albero le persone non avranno tutti i nodi aperti in una sola volta, questo è un problema da gestire e sarà necessario scorrere continuamente. È comunque possibile caricare i primi due livelli se la quantità di dati lo consente e quindi caricare il livello tre se il livello due è aperto per alcuni articoli. Quindi questo può essere gestito in base alle tue esigenze.

Anche se il caricamento su richiesta non funzionasse per te, puoi ancora caricare il livello uno e successivamente quando il documento è caricato avvia qualche processo in background che carica i livelli più profondi uno per uno. Molto probabilmente funzionerà più velocemente di quanto l'utente possa scorrere verso il basso.

    
risposta data 30.12.2014 - 09:19
fonte

Leggi altre domande sui tag