System.OutOfMemoryException



  • System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
    at System.String.Concat(String str0, String str1)

    diese meldung bekomme ich in meinem Programm wenn ich eine "etwas größere" html datei mit strings zusammen setzen will. im genaueren eine tabele mit x*x feldern.

    mit etwa 10k feldern geht es noch. mit einem Speicher verbrauch von 250mb bis 1gig hoch. (ausgabe html datei ~1,6mb)

    wenn ich aber z.b. 50k felder nehme fängt der nicht mal an sich speicher zu holen sondern bleibt mehr oder weniger konstant bei 400mb und spuckt sofort diese meldung aus.

    Hat jemand eine idee wie ich das ganze optimieren kann?



  • Wie sieht dein Code fürs Zusammensetzen aus?
    Ausserdem wäre die Frage, ob Du die Daten direkt in den Stream schreiben kannst?

    Simon



  • Baue Strings lieber mit dem StringBuilder zusammen! Strings sollte man nie mit + zusammenbauen...



  • okay hab meine fehlerquelle gefunden,

    ich habe erst den string (den html code) zusammen gesetzt und dan als ein EINZIGEN string in eine datei geschrieben.

    nun schreibe ich direkt in die datei. klappt 1a und auch viel schneller, wer hätte das gedacht 🙂


Anmelden zum Antworten