Как загрузить новую страницу при асинхронном выполнении потока в фоновом режиме - PullRequest
0 голосов
/ 10 июня 2019

В моем контроллере C # я запустил асинхронную задачу (используя Task.Run), а затем перенаправил на другую страницу.Моя цель состояла в том, чтобы полностью загрузить страницу, пока асинхронная задача выполнялась в фоновом режиме.Там будет код javascript, продолжающий пинговать веб-сервер, чтобы увидеть, выполнена ли работа.Однако я заметил, что код выполняет строку перенаправления перед выполнением загрузки в асинхронном потоке, что хорошо.Однако моя страница не начала загружаться, пока не завершится асинхронный поток (даже после завершения выполнения строки перенаправления).

Я пытался

Task.Run(() => someLoadingCode());

HostingEnvironment.QueueBackgroundWorkItem(a => someLoadingCode());

new Thread(() => someLoadingCode()) { IsBackground = true }.Start();

, но ни один из них не работает.

Это мой код:

public void Controller()
{
    Task.Run(() => someLoadingCode());
    Response.Redirect(url);
}

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

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