.net страница загружается дважды без причины - PullRequest
4 голосов
/ 24 мая 2011

У меня необычная проблема. Каждая страница в моем веб-приложении загружается дважды! При отладке событие onload срабатывает дважды. Я проверил логи iis и видел то же самое.

Мое приложение - .net 3.5, asp.net c #, работающее в IIS7.

Это происходит в нескольких различных средах.

Это не просто одна страница, а все страницы сайта. Чтобы проверить это, я создал пустую страницу без разметки, например. не пустые теги источника на изображениях или iframe, которые я читаю, могут вызвать это. Я также удалил все httpmodules из web.config и httphandlers, но это все еще происходит.

У меня сейчас нет идей, поэтому у кого-нибудь есть какие-нибудь советы или подсказки для меня?

Ответы [ 5 ]

1 голос
/ 24 мая 2011

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

Несколько лет назад я выяснил (после нескольких дней разочарования), что страницы загружались дважды при каждой обратной передаче, потому что кто-то написал пользовательские элементы управления для отображения html-контента, но в этих элементах управления была ошибка, которая вызывала некоторую искаженную разметку не помню, что именно, может быть, они где-то забыли закрывающий тег), и это заставило мой браузер перезагрузить страницу.

Найдите все ошибки, которые ваш браузер может найти в созданной вами разметке, и исправьте их в процессе устранения неполадок.

0 голосов
/ 25 февраля 2019

В моем случае странно, что page_load иногда запускается дважды.Это заняло у меня около 10 дней, чтобы проверить и опробовать.Перепробовал все возможные решения.

После того, как вы поймете, что Default.aspx также дважды запускает page_load, только мы можем подтвердить, что это является причиной перезаписи URL.Странно, что нет ничего плохого в коде перезаписи в web.config.

<rule name="Redirect to https" enabled="true" stopProcessing="true">
    <match url=".*" />
    <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" /> 
</rule>

Мы решили эту проблему, удалив код SSL и выше из web.config, повторно импортировали SSL и добавили код выше.

0 голосов
/ 24 мая 2011

Могут быть разные причины,

  • Проверьте в разных браузерах, посмотрите, не вызывают ли это какие-либо дополнения.
  • Проверьте, вызывает ли PostBack следующую загрузку
  • Посмотрите, находитесь ли вы в режиме отладки, затем отладьте код, если это возможно, чтобы увидеть, как он действительно загружается два раза.
0 голосов
/ 24 мая 2011

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

0 голосов
/ 24 мая 2011

Необходимо проверить, не установлено ли для AutoEventWireUp значение true, а также добавлено ли прослушиватель вручную в событие Load.Это (или некоторый вариант) этого будет вашей проблемой (что довольно распространено; здесь довольно много вопросов, связанных с этим).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...