Alternativen zu System.Drawing für die Verwendung mit ASP.NET?

Nachdem ich mehrere Tage lang bizarre GDI + -Fehler aufgespürt hatte, bin ich auf dieses kleine Juwel gestoßenMSDN:

Klassen im System.Drawing-Namespace werden für die Verwendung in einem Windows- oder ASP.NET-Dienst nicht unterstützt. Der Versuch, diese Klassen aus einem dieser Anwendungstypen heraus zu verwenden, kann zu unerwarteten Problemen führen, z. B. verminderte Dienstleistung und Laufzeitausnahmen.

Ich weiß nicht, ob "ASP.NET-Dienst" in diesem Zusammenhang "Webanwendung" bedeutet, aber "verminderte Dienstleistung" scheint mit Sicherheit die zufällige Auswahl der Fehler "Bei GDI + ist ein generischer Fehler aufgetreten" und "Nicht genügend Speicher" abzudecken Meine App wirft - zeitweise nicht reproduzierbare Fehler beim Lesen und Schreiben von JPEG-Bildern, die - in vielen Fällen - tatsächlich von System.Drawing.Imaging erstellt wurden.

Also - wenn GDI + JPEG-Dateien in einer Web-App nicht zuverlässig lesen und schreiben kann, was sollte ich stattdessen verwenden?

Ich möchte, dass Benutzer Bilder hochladen können (JPEG erforderlich, andere Formate gut zu haben) und sie erneut abtasten könnenzuverlässigund zeigen nützliche Fehlermeldungen an, wenn etwas schief geht. Irgendwelche Ideen? Sind die System.Media-Namespaces von WPF eine Überlegung wert?

BEARBEITEN: Ja, ich weiß, dass GDI + "die meiste Zeit" funktioniert. Das ist nicht gut genug, denn wenn es fehlschlägt, geschieht dies auf eine Art und Weise, von der es unmöglich ist, es ordnungsgemäß zu isolieren oder wiederherzustellen. Ich interessiere mich nicht für Beispiele für GDI + -Code, der für Sie funktioniert: Ich sucheAlternative Bibliotheken für die Bildverarbeitung.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage