Пользовательские ошибки в веб-форме asp. net вместе с httpErrors запускают главную страницу несколько раз. - PullRequest
0 голосов
/ 03 февраля 2020

Пользовательские ошибки в веб-форме asp. net вместе с httpErrors выполняет главную страницу несколько раз

Я использую обычную ошибку для обработки ошибки в asp. net веб-форме

<customErrors mode="On" defaultRedirect="~/en/404.aspx">
      <error statusCode="404" redirect="~/en/404.aspx" />
      <error statusCode="500" redirect="~/en/404.aspx" />
    </customErrors>

Приведенный выше код работает нормально, но не обрабатывает расширения, за исключением URL-адреса, и показывает значение по умолчанию HTTP Error 404.0 - Not Found страница ошибки

Это я могу обойти, используя httpErrors, который перенаправляет страницу на пользовательскую страницу 404.aspx, используя приведенный ниже код в web.config

<httpErrors errorMode="Custom" existingResponse="Replace">
      <remove statusCode="404" subStatusCode="-1"/>
      <error statusCode="404" path="/en/404.aspx" responseMode="ExecuteURL"/>
    </httpErrors>

Проблема с этим кодом в том, что return заставляет мой MasterPage.aspx выполняться 3 раза, что является большой проблемой производительности.

Когда я комментирую эту страницу, мой MasterPage.aspx выполняется только один раз. Я не уверен, что httpErrors запускает мою страницу 3 раза

Любая идея, как это обойти, просто упомяну, что моя главная страница не генерирует никаких ошибок, которые я проверял несколько раз ..

...