22 messaggi dal 25 maggio 2009
Salve a tutti,


Volevo esporvi il mio problema così magari mi aiutate a risolverlo.
Ho un pagina che esporta una griglia in formato csv. Tutto funziona fin quando non carico una griglia con 40.000 record (con 30.000 record funziona). Il messaggio che mi si presenta è "Internet Explorer cannot display the webpage".
Cosa può essere? Ho provato a cambiare il ContentType ma non sembra cambiare niente.

P.S. Il metodo di esportazione consiste nell'effettuare tanti Response.Write("") per ciascuna riga.

Spero che possiate risolvere il mio problema.
Grazie.
potrebbe essere un semplice timeout, hai provato a aumentarlo?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
22 messaggi dal 25 maggio 2009
Grazie mille per la risposta,

purtroppo però dubito sia un problema di timeout perchè l'errore mi si presenta appena clicco un tasto (genero un PostBack) senz aperò effettivamente esebuire nessun metodo (infatti non riesco a debuggare il mio codice).

La cosa strana, ripeto, è che se il giochino viene fatto con una griglia avente un numero di record < di 30000 il tutto funziona, appena li aumento ottengo l'errore...
2.859 messaggi dal 28 gennaio 2003
 Ho provato a creare un file csv, 5 campi.
Ho costruito per prova con un ciclo un milione di righe.
L'operazione è molto veloce ed i circa 60 Mbytes vengono scaricati in locale molto velocemente.

Perciò penso che il problema sia altrove:

1) il csv è costruito a mano usando uno StringBuilder

2) quando viene fatto il download, deve essere scaricato su file, altrimenti si aprirà il programma predefinito (tipicamente Excel) che non legge di certo un milione di righe.


Pietro
mi sembra strano che non sia eseguito nessun codice, se si verifica il PostBack, di sicuro c'è il PageLoad.

se non riesci a debuggare inserisci dei Trace.Warm, nella tua applicazione e controlla il risulato

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
2.859 messaggi dal 28 gennaio 2003
ander24 ha scritto:
Il metodo di esportazione consiste nell'effettuare tanti Response.Write("") per ciascuna riga.


Non ho letto questo

Ho rifatto qualche prova con 100.000 record

Opera li carica in un lampo
Firefox ci mette un poco di più, ma non tanto di più...
IE8 muore già a 30.000 record

Non lo so se si possa migliorare il codice. Io cambierei aproccio. Cioè farei scaricare il csv prodotto in un file da parte dell'utente.

Ciao


ps. nella prova ho fatto terminare le righe con "<br/>". E' questo che disturba IE. Togliendolo va ultraveloce. Ma un separatore di riga è indispensabile...
Modificato da pietro09 il 03 ottobre 2009 12.12 -

Pietro
2.859 messaggi dal 28 gennaio 2003
allora, togliendo <br/> dalla fine del record, ma rachiudendo il record in:

<div>record</div>, anche IE8 funziona. Ho provato con 100.000 record.

Pietro
22 messaggi dal 25 maggio 2009
Ragazzi ho risolto! in pratica avevo il metodo nel Load, l'ho spostato direttamente al click del bottone e in questo modo il browser non mi da piu' errore.

Grazie a tutti per la collaborazione :)

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC