Я отслеживал производительность своего веб-сайта и из всего медленно выполняющегося кода (> 1 с) более 90% связано с System.Web.HttpRequest.GetEntireRawContent () (вызывается System.Web.HttpRequest.FillInFormCollection ())
Это нормально для ASP. NET ...иногда проводить более 10 секунд в методе FillInFormCollection (очевидно, он вызывается из System.Web.UI.Page.PerformPreInit ())?
Или есть способ решить эту проблему?
Я компилирую. NET Framework 3.5.
Страница У меня в основном проблемы со страницей входа в систему, хотя в ней нет ничего необычного - два текстовых поля, флажок для RememberLogin и кнопка входа в систему. Request.ContentLength составляет около 5 КБ (я зарегистрировал Request.Form.ToString () - ничего необычного не обнаружил). Я выполнил много трассировки (ожидал огромных POST) и отладки, но не смог найти какой-либо рациональной причины для того, чтобы FillInFormCollection занимала более 10 секунд (однажды у меня был экстремальный пример с 250 секундами). Я даже пытался замедлить свое соединение со Fiddler, но не смог воспроизвести проблему.
РЕДАКТИРОВАТЬ: Спасибо за все комментарии, ребята. Я продолжал заниматься этой проблемой ... если она будет решена, по крайней мере, это сэкономит другим людям время;). Вот ответы на некоторые вопросы.