RSS Der tägliche WTF
Folgen
CodeSOD: Der HTML-Printwert
Matt erbte einen schlecht geschriebenen VB.Net-Code von einer früheren Kostensparmaßnahme. Der Code enthielt ein problematisches Muster zur Generierung von HTML, das in einer Session-Variable gespeichert wurde. Dieses HTML sollte dann über einen clientseitigen Redirect auf einer separaten Druckseite angezeigt werden. Die für die HTML-Generierung zuständige Funktion, GenerateHTMLOfItem, akzeptierte überraschenderweise keine Parameter, da die Artikel-ID bereits in einer Session-Variable gespeichert war. Der Redirect-Mechanismus selbst war ineffizient und verursachte, dass der Browser eine neue Anfrage für die Druckseite stellte. Die Microsoft-Dokumentation rät von der Überladung von Response.Redirect ab, die verwendet wurde, da sie den Thread beendet und die Leistung negativ beeinflusst. Die empfohlene Alternative besteht darin, false an den endResponse-Parameter zu übergeben und CompleteRequest aufzurufen. Angesichts zahlreicher Probleme priorisierte Matt andere Aufgaben und ließ diesen speziellen Code-Schnipsel mit einer frustrierten Bitte auskommentiert. Trotz der Ineffizienzen wurde diese Praxis scheinbar von Entwicklern übernommen, was den Code weiter verkomplizierte.