Эта проблема была решена благодаря вашим предложениям. Подробности смотрите внизу. Большое спасибо за вашу помощь!
Наш веб-сайт ASP.NET доступен из нескольких специальных и высоконадежных международных отделений. Он работал нормально, но мы добавили еще одно местоположение клиента, которое демонстрирует очень странное поведение.
В частности, когда пользователь вводит критерии поиска и нажимает кнопку поиска, список результатов возвращается пустым. Он даже не отображает текст «0 результатов возвращен», так что элемент управления Repeater вообще не связывается. Подобное поведение проявляется в некоторых, но не во всех других частях сайта. Пользователь может нормально зайти на сайт и отобразится информация о его профиле.
Я вошел на сайт локально, используя те же учетные данные, что и они, и сайт работает хорошо. Мы тщательно прошли все этапы, поэтому я уверен, что это не проблема пользователя.
Я связываю результаты поиска в Page_Load страницы результатов поиска при первой загрузке (критерии указаны в строке запроса). т.е.
if (!IsPostBack) {
BindResults();
}
Я могу повторить то же самое поведение локально, закомментировав вызов метода BindResults ().
Кто-нибудь знает, как рассчитывается значение IsPostBack? Возможно ли, что их высокобезопасная настройка брандмауэра заставит IsPostBack всегда возвращать true, даже если это перенаправление с другой страницы? Это может быть красная сельдь, так как проблема может быть в другом месте. Хотя он точно повторяет результат.
У меня нет доступа к сайту, поэтому устранение неполадок ограничивается предоставлением им инструкций и просьбой сообщить мне результат.
Спасибо за ваше время!
Информация о дополнении: Клиент находится за брандмауэром Microsoft ISA 2006, на котором выполняются правила по умолчанию. Сайт был добавлен в список доверенных сайтов Internet Explorer и опробован в FireFox и Google Chrome, все с одинаковым результатом.
РЕШЕНИЕ : Победителем для меня стало предложение использовать Fiddler. Какой отличный инструмент, без которого не должен обходиться ни один веб-разработчик. Используя это, я смог удалить различные заголовки из запроса, пока не воспроизвел проблему. На самом деле, причиной этой ошибки было два фактора, как это часто бывает с такими запутанными проблемами.
Фактор первый - где это возможно, веб-приложение использует сжатие GZIP, поддерживаемое всеми основными браузерами. Брандмауэр удалил заголовок, который указывает поддержку распаковки GZIP (Accept-Encoding: gzip, deflate).
Фактор два - ошибка в моем коде означала, что некоторая обработка была обойдена, когда контент отправлялся без сжатия. Эта проблема не была замечена ранее, потому что приложение используется ограниченной аудиторией, все из которых поддерживают декомпрессию GZIP.