Frage

Also, ich spiele um mit dem Erhalten des HTML aus einer Standard-ASP.Net Seite. Ich habe die Render-Methode außer Kraft gesetzt, wie so:

protected override void Render(HtmlTextWriter writer)
{
    MemoryStream memoryStream = new MemoryStream();

    try
    {
        using (StreamWriter streamWriter = new StreamWriter(memoryStream))
        {
            var textWriter = new HtmlTextWriter(streamWriter);
            base.Render(textWriter);
            memoryStream.Position = 0;
            using (StreamReader reader = new StreamReader(memoryStream))
            {
                var text = reader.ReadToEnd();
                Response.Write(text);
                reader.Close();
            }
        }
    }
    catch(ObjectDisposedException)
    {
        // The stream writer is already disposed?
    }
    finally
    {
        memoryStream.Dispose();
    }
}

Dies funktioniert gut auf Dateien, die weniger als 8,00 KB (8.200 Byte). Wenn die Datei als die größer ist, wird jeder Text am Ende abgeschnitten zu werden.

Hat jemand eine Anregung?

War es hilfreich?

Lösung

Vielleicht, textWriter.Flush() nach einem Aufruf base.Render() Ihren Tag speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top