2010-08-05 7 views
1

J'ai un problème étrange.Response.ContentType = "text/csv" provoque une erreur XML

Je crée un DataTable de type mon application puis je le convertis en CSV afin que l'utilisateur puisse télécharger les données.

je définir le type de contenu comme celui-ci:

context.Response.Clear(); 
    context.Response.ContentType = "text/csv"; 
    context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ".csv"); 
    var responseBuilder = new StringBuilder(data.Rows.Count * data.Columns.Count * 30); 

Maintenant, cela fonctionne bien pour toutes les tailles de données dans mon environnement de développement, et pour les petites quantités de données sur mon environnement de production, mais quand il arrive à un plus grande taille (par exemple, plus d'environ 4000 lignes) sur la production Firefox me donne l'erreur:

XML Parsing Error: no element found 

Toutes les idées? Il n'y a pas d'erreur dans Elmah, que j'utilise pour me connecter.

Merci d'avance!

+2

Est-il possible que la demande expire et firefox l'interprète comme un document vide? – jwsample

+1

Bon appel, il vaudrait la peine d'utiliser Firebug ou quelque chose de ce genre pour vérifier que ce qui arrive au navigateur est bien ce que vous vous attendiez à envoyer. – Carson63000

+0

Merci @jwsample et @ Carson63000. Je pense que j'ai trouvé le problème, et il n'y a aucun moyen que vous auriez pu le prendre à partir de l'information que j'ai donnée! Mais on dirait que vous êtes sur la bonne voie. Je pense que c'est un temps mort et l'endroit le plus susceptible de se produire est l'équilibreur de charge, expliquant pourquoi cela ne se produit que sur la production. –

Répondre

0

Il s'agissait d'un problème de délai d'attente sur l'équilibreur de charge.

Questions connexes