Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129

    Gestire XML di grandi dimensioni

    Salve,

    sono un neofita di con ASP.net e vorrei chiedervi qualche consiglio.

    Una pagina ASP.net interroga un web-service ed ottiene un XML.
    Ora poniamo il caso in cui non si possa più interrogare tale web-service in quanto l'operazione richiederebbe troppo tempo.
    Quindi, ottenuto tale XML devo gestirmelo e/o navigarlo. Tale file può essere anche di 200K e più.
    Con navigarlo intendo che se nell'output ottengo solo la lista dei padri, se clicco su uno dei padri ne vedo i figli in un output totalmente diverso (dovrei cambiare pagina quindi), idem cliccando sui figli ottengo le foglie (profondità dell'albero pari a 3), oppure torno indietro all'elenco dei padri... oppure applico dei filtri sugli attributi per ottenere solo determinate foglie... insomma devo navigare tale albero. E non voglio utilizzare AJAX

    La domanda: come gestireste una cosa del genere?
    L'XML dove lo memorizzereste? Non credo in una variabile di sessione possa mettere un file di 200K e più... pensavo ai frames con uno nascosto in cui lasciavo lì l'xml, ma non mi entusiasma come soluzione...

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    dipende se il file xml è legato all'utente oppure al sito intero e quindi è sempre quello...?
    I got the remedy

  3. #3
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129
    l'xml dipende dall'utente... è il risultato di una ricerca...

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Si potrebbe anche salvare nel server(nella Application o meglio nell'oggeto Cache) nel caso queste ricerche siano uguali per diversi client. Quindi il server asp net interroga l'web service a intervalli regolari e aggiorna in memoria i risultati di queste ricerche.

    Lato client cosa se ne fanno di questo xml?
    I got the remedy

  5. #5
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129
    Originariamente inviato da albgen
    Si potrebbe anche salvare nel server(nella Application o meglio nell'oggeto Cache) nel caso queste ricerche siano uguali per diversi client. Quindi il server asp net interroga l'web service a intervalli regolari e aggiorna in memoria i risultati di queste ricerche.

    Lato client cosa se ne fanno di questo xml?
    allora spiego meglio: questa applicazione web dispone di un motore di ricerca intellgente (una ricerca può impiegare anche 3 minuti di elaborazione)... il risultato della ricerca è un XML che viene parsato dall'applicazione e viene impostato un output specifico all'utente finale in cui, cliccando su una categoria, visulizzo poi il contenuto e via via come detto nel mio primo post...

    quindi, visti i tempi di risposta del motore intelligente, io devo custodirmi tale XML in modo poi da poter visualizzare i vari nodi in base ai click dell'utente finale... considerando che l'output dei "padri" ha un certo layout, l'output dei "figli" un altro... posso applicare filtri vari etc etc...

    nella cache non posso: vari utenti potrebbero effettuare diverse ricerche, distinte... ci sarebbe un eccessivo spreco di risorse...

    stavo in questo momento provando a memorizzare tutto l'XML di una ricerca (198k) in una variabile di sessione... e sembra che non ci siano problemi... non pensavo una Session potesse contenere una mole così eccessiva di dati... ho il dubbio però che possa incorrere in quealche altro problema...

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da natron
    allora spiego meglio: questa applicazione web dispone di un motore di ricerca intellgente (una ricerca può impiegare anche 3 minuti di elaborazione)... il risultato della ricerca è un XML che viene parsato dall'applicazione e viene impostato un output specifico all'utente finale in cui, cliccando su una categoria, visulizzo poi il contenuto e via via come detto nel mio primo post...

    quindi, visti i tempi di risposta del motore intelligente, io devo custodirmi tale XML in modo poi da poter visualizzare i vari nodi in base ai click dell'utente finale... considerando che l'output dei "padri" ha un certo layout, l'output dei "figli" un altro... posso applicare filtri vari etc etc...

    nella cache non posso: vari utenti potrebbero effettuare diverse ricerche, distinte... ci sarebbe un eccessivo spreco di risorse...

    stavo in questo momento provando a memorizzare tutto l'XML di una ricerca (198k) in una variabile di sessione... e sembra che non ci siano problemi... non pensavo una Session potesse contenere una mole così eccessiva di dati... ho il dubbio però che possa incorrere in quealche altro problema...
    la dimensione della session dipende da come è configurata. Di default è inprocess ovvero tutte le sessioni vengono salvate in memoria ram quindi la dimensione della session dipende dalla ram installata nel server + il pagefile. Un altra soluzione potrebbe essere quella di salvare la session in un database sql e quindi in questo caso dipende dalla dimensione del db.

    Potresti anche gestire tutto tramite file xml però devi mettere in piedi il sistema che gestisce il tutto.

    un'altra cosa che si può fare. Memorizzare tutte le stringhe di ricerca. Dopo un pò di tempo fai un pò di analisi. Se vedi che le stringhe di ricerca si ripetono allora forse è il caso di salvare tutto in cache.

    ps:dovresti fare dei conti anche sul numero max degli utenti che si collegano nello stesso momento
    I got the remedy

  7. #7
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129
    Allora... considera che il mio compito parte dalla ricezione dell'XML. Tutto il processo che accade prima non è di mia competenza e, pur volendo, non mi farebbero metter mano poichè è diverso il Team a cui è affidato.
    Idem vale quindi per il database e per le stringhe di ricerca quindi: nulla di tutto ciò potrei toccare.

    Quindi, detto ciò: il tuo consiglio quale è?
    Io avevo persino pensato ad un frame nascosto dove tener "appoggiato" l'XML...

  8. #8
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da natron

    Quindi, detto ciò: il tuo consiglio quale è?
    Io avevo persino pensato ad un frame nascosto dove tener "appoggiato" l'XML...
    a questo punto mi viene da dire: ma perchè vuoi nasconderlo? Visto che comunque vuoi legare la ricerca singola alla sessione allora costruisciti l'intero albero e lo mandi al client.
    Se la risposta è che non vuoi generare traffico allora l'unica soluzione è quella della session.
    Cioè che senso ha nascondere questo albero?

    cmq per rispondere alla tua domanda ti dico che un altra soluzione potrebbe essere quella di utilizzare un campo nasconto oppure come dicevi prima quella dei frame nascosti.

    poi sinceramente una ricerca che dura 3 minuti non è utilizzabile. Boh forse sbaglio perchè non conosco l'applicazione. boh..
    Se una pagina viene generata in meno di 10 sec allora va bene. Oltre questo tempo è inutile. Verrà poco visitata se è una pagina in internet, se si tratta di un sito interno aziendale ti chiamano e ti tirano le orecchie
    I got the remedy

  9. #9
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129
    sui tempi di risposta... bè, c'è tutta una storia dietro... si tratta di ricerca intelligente con Learning Objects e Schede Catalografiche di Beni Immateriali...è una storia lunga...

    comunque la situazione mia te l'ho spiegata: ho questo XML e devo "navigarlo". Da qualche parte devo pur appoggiarmelo: le variabili di sessione, dalle prove effettuate, reggono, ma ho paura dei loro limiti. Un frame lo vedo come una valida alternativa, ma mi costringerebbe a modificare il sito nelle sue impostazioni. Appoggiare l'XML in un campo nascosto, come una Textarea, mi costringerebbe poi, ad ogni link, ad emulare un Submit Form, etc etc... O sbaglio? sono aperto a qualsiasi consiglio...

  10. #10
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da natron
    Appoggiare l'XML in un campo nascosto, come una Textarea, mi costringerebbe poi, ad ogni link, ad emulare un Submit Form, etc etc... O sbaglio? sono aperto a qualsiasi consiglio...
    eh si devi emulare un evento. Cmq, se hai già esperienza con i frame procedi con quelli...è la stessa cosa.

    Originariamente inviato da natron
    ma ho paura dei loro limiti.
    beh i limiti sono quelli che ho scritto prima...
    I got the remedy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.