Для интранет-приложения у меня есть функция сохранения веб-страницы, которая может привести к значительным действиям в нескольких таблицах базы данных. Я использую Linq2SQL, и около 20 секунд простоя браузера поглощаются 3 отдельными Linq.DataContext.SubmitChanges()
вызовами. Эти вызовы происходят прямо в конце кода, вызываемого обратной передачей SaveButton.
Я хочу, чтобы фактическая работа, необходимая для накопления этих изменений в базе данных, была выполнена в действии кнопки сохранения. Однако, если проблем и конфликтов не обнаружено, я бы хотел сразу же после этого перенаправить пользователя на другую страницу (чтобы ему не пришлось смотреть на экран, выполняя то, что он не может остановить. позвони всем SubmitChanges()
.
Идеальный рабочий процесс:
void btnSaveClick()
{
CalculateChangeSetProcedure
Redirect somewhere...
SubmitChangesProcedure
}
Так что моя проблема в Response.Redirect (..., true) просто отключит работу. Есть ли способ сделать это с помощью процедур ASP.NET или мне придется сделать это асинхронно в другом потоке?