Reponse.Redirect не работает, когда ответ от сервера очень медленный asp.net - PullRequest
0 голосов
/ 21 января 2012

Мы используем Oracle 11g в качестве бэкенда в нашем веб-приложении asp.net.

На странице регистрации, когда пользователь нажимает на кнопку, создается кнопка новой учетной записи.Так как мы создаем пример данных для пользователя на БД.Это займет около 90 секунд, чтобы запустить хранимую процедуру и дать ответ.Здесь, после создания новой учетной записи приложения, мы перенаправляем на страницу «Спасибо», используя приведенный ниже код

Response.Redirect("../thankyou.aspx",false);

Но его нельзя перенаправить на страницу «Спасибо»

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

Я пытался Server.Transfer("URL"), Response.Redirect("URL"), но не работает

Я не понимаю, как решить эту проблему.Пожалуйста, дайте мне знать, как решить эту проблему ....

Ответы [ 3 ]

1 голос
/ 25 января 2012

После долгого времени я смог найти решение

Я решил проблему с помощью настройки свойства ScriptManager. Ниже приведен пример установки времени ожидания на 10 часов

<asp:ScriptManager ID="ScriptManager1" AsyncPostBackTimeOut="36000" runat="server" />

Здесь я нашелэто http://forums.asp.net/post/1470167.aspx (Большое спасибо JST)

Надеюсь, это кому-нибудь поможет.

:)

0 голосов
/ 21 января 2012

Я думаю, что вы можете получить ThreadAbortException где-то, возможно, из-за длительного процесса. Может быть, поместите ваш редирект в блок try и посмотрите, нет ли обнаруженных исключений?

Я знаю, что это не по теме, но вместо перенаправления вы можете показать всплывающий элемент div (множество примеров в Интернете о том, как это сделать) и остаться на той же странице.

0 голосов
/ 21 января 2012

Получаете ли вы необработанное исключение из кода создания учетной записи, чтобы строка Response.Redirect() вообще не выполнялась?

Если вы установите точку останова в этой строке, останавливается ли там отладчик

...