Chrome не может загрузить ресурсы при использовании Server.Transfer или Response.Redirect

Это не вопрос «почему мои ресурсы не загружаются в Chrome».

У меня есть сайт в разработке (VS 2015 - C #). Мой сайт начинается так:

  1. Default.aspx загружает
  2. Server.Transfer ("view.aspx");

Это отлично работает, и все ресурсы (jquery, bootstrap, css-файлы и т. Д.) Загружаются в I.E. но не загружается в Chrome.

Я также пробовал Response.Redirect ("view.aspx") и получил те же результаты.

Я не передаю содержимое из default.aspx в view.aspx, поэтому там нечего сохранять.

Если я установлю страницу «View.aspx» в качестве начальной страницы, оба I.E. и Chrome работают нормально. Казалось бы, это указывает на то, что моя страница / ресурсы / ссылки / и т. Д. в порядке.

Итак, почему Server.Transfer и / или Response / Redirect создают сбой при загрузке ресурсов в Chrome, но прямая навигация кажется прекрасной?


person Frank M    schedule 21.10.2016    source источник


Ответы (2)


Попробуйте открыть инструменты разработчика в вашем браузере (Chrome), нажав клавишу F12. Должна быть вкладка «Сеть». Посмотрите там, если у вас есть ошибки в ответе.

person Vegas Rico    schedule 21.10.2016
comment
Да, я вижу ошибки при использовании server.transfer или response.redirect. Проверяя F12, я вижу следующее: - person Frank M; 21.10.2016
comment
Не удалось загрузить ресурс: сервер ответил статусом 500 (внутренняя ошибка сервера) - person Frank M; 21.10.2016
comment
Этого не произойдет, если я установлю страницу view.aspx в качестве начальной. (Извините за лишние комментарии, я не видел, как редактировать эту часть. - person Frank M; 21.10.2016
comment
Отключите customErrors в web.config, и вы сможете увидеть, почему вы получили эту ошибку в ответ. - person Vegas Rico; 21.10.2016

Я также страдаю от этого на Server.Transfer + Chrome, и моя ошибка strace показывает, как показано ниже:

Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> 
System.Web.HttpException (0x80004005): Error executing child request for XXX

  at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, 
TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, 
VirtualPath 
path, VirtualPath filePath, String physPath, Exception error, String 
queryStringOverride) 
  at System.Web.HttpServerUtility.Execute(String path, TextWriter writer, 
Boolean preserveForm) 
  at System.Web.HttpServerUtility.Transfer(String path) 

Однако он отлично работает, если я использую Response.Redirect, и, согласно моим исследованиям, эта проблема может возникать из-за потери информации о контексте.

person cherishty    schedule 08.05.2017