2017-08-21 1 views
-1

ich folgenden Code in meiner Anwendung geschrieben habeDifferenzausgang zwischen Debug und Release-Version in ASP-Anwendung

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(); 
    } 

Nun, wenn ich Anwendung und klicken Sie auf Ausgabetaste, hat meine Ausgabedatei HTML-Code der Seite mit nach gewünschte Ausgabe. Aber wenn ich das Debug-Tool verwende, um herauszufinden, was mit meinem Code nicht stimmt, ist alles perfekt! Sogar meine Ausgabedatei!

Edit: Hier ist meine Ausgangs

Debug-Version (rechts Ausgabe)

//Exact text that I added to sb above 

Release Version (falsche Ausgabe)

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

Entschuldigen Sie für Grammatikfehler, Englisch ist nicht meine Muttersprache.

+1

Können Sie die ** ** tatsächliche Ausgabe von dem Debug zeigen und Release so können wir die beiden vergleichen? – mjwills

+1

_Sie sollten 'using' auch mit' fs = new FileStream' verwenden, um die explizite 'Close' und' Dispose' zu ​​vermeiden. Wie du es mit 'writer' gemacht hast. – mjwills

+0

@mjwills Danke für deine Antwort. Ich habe die Frage bearbeitet, hilft es jetzt? –

Antwort

0

Ich vermute, Sie etwas in dieser Richtung wollen:

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; 
Verwandte Themen