CodeSOD: Значение печати HTML Заметка
The Daily WTF на русском

CodeSOD: Значение печати HTML

Мэтт унаследовал кодовую базу плохо написанного кода VB .Net от предыдущей меры по экономии затрат. Код характеризовался проблемным шаблоном генерации HTML и его хранения в переменной сеанса. Этот HTML затем предполагалось отображать на отдельной странице печати с помощью клиентского перенаправления. Функция, ответственная за генерацию HTML, GenerateHTMLOfItem, на удивление не принимала параметров, поскольку идентификатор элемента уже хранился в переменной сеанса. Сам механизм перенаправления был неэффективен, заставляя браузер делать новый запрос для страницы печати. Документация Microsoft не рекомендует использовать перегрузку Response.Redirect, поскольку она завершает поток и негативно сказывается на производительности. Рекомендуемая альтернатива включает передачу false в параметр endResponse и вызов CompleteRequest. Столкнувшись с многочисленными проблемами, Мэтт отдал приоритет другим задачам, оставив этот конкретный фрагмент кода закомментированным с разочарованной просьбой. Несмотря на неэффективность, эта практика, по-видимому, была принята разработчиками, что еще больше усложнило кодовую базу.