Проблема в том, что пользователю не нужно ждать цикла страницы
Я бы сказал, что проблема в том, что страница, по-видимому, делает слишком много в цикле страниц. В WebForms, цикл страницы происходит. Это просто как это работает. Учти это ...
- Чтобы взаимодействовать с выделенным кодом, клиентской форме нужно отправить POST на страницу.
- Чтобы обработать POST, страница должна существовать в памяти.
- Чтобы существовать, страница должна пройти стандартные этапы создания в своем жизненном цикле.
Не видя никакого реального кода, моя внутренняя реакция заключается в том, что вы слишком много делаете на Page_Load
. Рефакторинг это. Делайте только то, что вам нужно, чтобы загрузить страницу . Не обрабатывать данные, не выполнять все виды серверной работы, просто загрузить страницу. Это должен быть довольно легкий процесс. Затем логически подключите необходимые фоновые работы, где это уместно. (В WebForms, и это моя главная любимая мозоль, это часто заканчивается упаковкой большого количества вещей в условную проверку IsPostBack
.)
Теперь, - это , что вы можете сделать. Исходя из вашего вопроса, звучит так, как будто вы хотите пропустить загрузку текущей страницы и вместо этого перейти прямо на страницу выхода из системы. В зависимости от вашей настройки у вас есть несколько подходов:
- Сделать ссылку выхода из системы не более чем простой ссылкой. Таким образом, браузер будет запрашивать только страницу выхода из системы, в отличие от создания формы POST для текущей страницы (как, например, с помощью кнопки или
LinkButton
).
- Если странице выхода из системы действительно требуется какое-либо значение POST, добавленное в нее, создайте собственный HTML
form
с действием, установленным для страницы выхода из системы. Это предполагает меньше полагаться на элементы управления перетаскиванием на стороне сервера и больше просто на создание простого HTML-кода (что всегда полезно делать в веб-разработке).
Или, подумав немного о своем вопросе, вы спрашиваете, как заставить страницу выхода пропустить цикл главной страницы? Если страница выхода использует главную страницу, она не может ее пропустить. Страница должна существовать, прежде чем ее можно будет использовать. Но вы можете создать автономную страницу выхода из системы без главной страницы, которая не делает ничего, кроме обработки выхода из системы (а затем, я полагаю, перенаправляет ее на другую страницу). Это быстро обработает выход из системы, но в целом все равно потребуется загрузка страницы. Это возвращает нас к вопросу, что проблема заключается в том, что загрузка страницы занимает слишком много времени, а не то, что вы загружаете страницу.