1. C# / Говнокод #5700

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult SaveLastReport(string gridHtml)
    {
    	var buf = Convert.FromBase64String(gridHtml);
    	var str = System.Text.Encoding.UTF8.GetString(buf, 0, buf.Length);
    	System.IO.File.WriteAllText(Server.MapPath("~/content/lastreport.html"), str);
    	return RedirectToAction("LastReport");
    }

    Вот так иногда закрываются формальные требования по ТЗ...

    Запостил: St0rm, 16 Февраля 2011

    Комментарии (4) RSS

    • какое ТЗ - такая и реализация
      Ответить
    • Все таки аннотации (атрибуты) -- редкостное говно

      легким движением руки типа-контроллер знает об HTTP да еще и о методе POST.
      С таким же успехом в бизнес-логику можно вхардкоживать SQL запросы.

      Эта чума одинаково глубоко проникла в головы джавы-ее и дотнета. Хорошо что есть всякие спринги и струтсы где можно писать нормальный код
      Ответить
      • Ага, после исапи модулей ещё и атрибуты добавили (http://www.codeproject.com/Articles/120/). (Давно уже не писал модулей, поэтому апи забыл...):
        void CISAMExtension::OutputJpeg(CHttpServerContext* pCtxt, const CByteArray& data)

        Ну или исапи фильтр для примера:
        DWORD CSomeFilter::OnPreprocHeaders(CHttpFilterContext *pCtxt, PHTTP_FILTER_PREPROC_HEADERS pHeaderInfo)

        Ну и добавилось парю рюшечек типа рефлексии и атрибутов. А как раньше исапи фильтр/модуль мог процесс свалить, так и сейчас .NET радостно валит w3wp с HRESULT'ом при StackOverflowException.
        Ответить
    • vanished
      Ответить

    Добавить комментарий