2017-08-21 2 views
-1

J'ai écrit le code suivant dans mon applicationdifférence de sortie entre débogage et version La version en application ASP

fs = new FileStream(OutputFilePath, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.Read); 
StringBuilder sb = new StringBuilder(); 
using (StreamWriter writer = new StreamWriter(fs, Encoding.UTF8, 512)) 
{ 
    //add some text to sb 
    writer.Write(sb.ToString()); 
    writer.Close(); 
} 
finally 
{ 
    if (fs != null) 
    { 
    fs.Close(); 
    fs.Dispose(); 
    } 

Maintenant, quand j'utilise l'application et cliquez sur le bouton de sortie, mon fichier de sortie a le code html d'utilisation page après Sortie désirée. mais quand j'utilise l'outil de débogage pour trouver ce qui ne va pas avec mon code, tout est parfait! même mon fichier de sortie!

Edit: Voici ma sortie

Version Debug (sortie droite)

//Exact text that I added to sb above 

Version Release (mauvaise Sortie)

//Exact text that I added to sb above 
<!DOCTYPE html ....//All html Code of using page that I download output file from it 

Excusez-moi pour les fautes de grammaire, l'anglais est pas mon langue maternelle.

+1

Pouvez-vous montrer la sortie, nous pouvons ** réelle ** du Debug et Release afin de pouvoir comparer les deux? – mjwills

+1

_Vous devriez aussi utiliser 'using' avec' fs = new FileStream' pour éviter les commandes explicites 'Close' et' Dispose'. Comme vous l'avez fait avec 'writer'._ – mjwills

+0

@mjwills Merci pour votre réponse. J'ai édité la question, aide-t-elle maintenant? –

Répondre

0

Je suppose que vous voulez quelque chose le long de ces lignes:

StringBuilder sb = new StringBuilder(); 
sb.Add("Some text"); 

// Clear anything the page has begun to buffer. We don't want that. 
Response.ClearHeaders(); 
Response.ClearContent(); 


// Write something to the Response.OutputStream here 
Response.ContentType = "text/plain"; 
Response.CharSet = "utf-8"; 
Response.OutputStream.Write(System.Text.Encoding.UTF8.GetBytes(sb.ToString())); 

// Send to the client immediately. 
Response.Flush(); 
// Prevent any more being added by ASP.Net 
Response.SuppressContent = true;