Почему Response.Redirect ("") возвращает ошибку в одной тестовой среде, а не в другой? - PullRequest
0 голосов
/ 31 марта 2009

Мы пытаемся выяснить, как исправить ошибку, обнаруженную при стороннем IV & V-тестировании, которую мы не можем воссоздать в нашей внутренней тестовой среде.

Мы определили, что ошибка вызвана тем, что значение URL было случайно установлено в пустую строку ("") перед попыткой перенаправления на него. Следовательно, мы пытаемся выполнить Response.Redirect ("").

Во внешней тестовой среде эта строка кода приводит к следующей ошибке:

Internet Explorer cannot display the webpage

Во внутренней тестовой среде текущая страница просто перезагружается.

Серверы практически идентичны - внутренний тестовый сервер имеет то же физическое оборудование, что и внешний сервер, и даже запускает копию виртуального образа внешнего сервера. Следовательно, все настройки Windows и IIS должны быть идентичными.

Существуют ли физические проблемы с сетью, балансировкой нагрузки или другие проблемы, связанные с окружающей средой, которые могут вызвать такое расхождение?

Спасибо за любые идеи.

1 Ответ

3 голосов
/ 02 апреля 2009

Я бы использовал Fiddler, чтобы взглянуть на HTTP-ответ сервера и убедиться, что он точно такой же. Когда вы это сделаете, вы знаете, что это проблема на стороне клиента или среды. Далее ...

Что такое URL в адресной строке для двух браузеров? Еще лучше ... в IE щелкните правой кнопкой мыши на странице и посмотрите на свойства. Что вы действительно видите здесь? На моей локальной системе тестирования Response.Redirect ("") я получаю что-то вроде этого: "res: //ieframe.dll/dnserror.htm#http://localhost/test.aspx" DNSERROR! Хмммм ... интересно!

Также рассмотрим, что происходит в следующей ситуации: http://somelanname

... в среде, где "somelanname" - это имя ресурса в вашей локальной интрасети ... и что происходит, когда вы пытаетесь получить доступ к этому URL, когда он не существует. Я думаю, что вы видите то же самое здесь.

...