Почему я получаю исключение в IE, но не в Chrome при запуске моего сайта ASP.NET?

Наконец-то мне удалось запустить устаревший сайт в моем обычном/предпочтительном браузере — Chrome. Я пытался понять, как выполнить код javascript в инструментах F12. Когда я не мог понять, как получить доступ к коду скрипта, я провел небольшое исследование и обнаружил, что отладка javascript проектов ASP.NET может (предположительно?) выполняться только в IE.

Итак, в проекте я переключил браузер с Chrome на IE. Теперь, когда я пытаюсь открыть сайт из VS IDE, он ломается с исключением:

введите здесь описание изображения

Почему Chrome весело игнорирует это или почему IE ворчливо делает из этого проблему?

В Chrome я вижу различные файлы ScriptResource:

введите здесь описание изображения

... но это, кажется, все, кроме пользовательского javascript для сайта - код Microsoft и Telerik.

Этот сайт ASP.NET предназначен для .NET 3.5; ИЭ 11; Визуальная студия 2013.


person B. Clay Shannon    schedule 09.12.2016    source источник


Ответы (3)


вы запрашиваете элемент из коллекции файлов cookie. Очень вероятно, что этот файл cookie существует в Chrome, где он не дает исключений. И, вероятно, этот файл cookie не существует в Internet Explorer, где вы получаете исключение.

Всегда проверяйте, является ли результат, если Request.Cookies[...] нулевым, перед дальнейшей обработкой.

person Allie    schedule 19.12.2016

Проверьте место, где вы инициализируете Request.Cookies(PortalHelper.BUTTON_MEMBER), чтобы убедиться, что вы действительно запускаете этот код, прежде чем ожидать, что значение будет там. Установите точку останова в этой строке кода И в строке кода с ошибкой, затем запустите IE через IDE, чтобы увидеть, какой код запускается первым.

В среде IDE вы, скорее всего, пропускаете часть кода, которой в Chrome вы либо не являетесь, либо инициализировали ранее с помощью какого-то другого рабочего процесса.

person Paul Bruce    schedule 19.12.2016

Не уверены, просите ли вы исправить свои фактические проблемы с кодом? Или просто спрашиваете о разнице в поведении между хромом и IE?

Если последнее, то просто VS запускает сеанс отладки IE js и прерывается из-за ошибки (вы видите, что JS отлаживается в VS). Это была полезная функция, когда инструменты для разработки браузеров только зарождались (особенно для IE), а сейчас не так уж и много. Нет такого сеанса отладки браузера VS, когда вы работаете с хромом, следовательно, бесшумный запуск.

IE также выполнит бесшумный запуск, если вы просто откроете новый браузер и нажмете URL-адрес своего работающего сервера (у него не будет хука процесса VS).

person Vivek    schedule 19.12.2016