Как запустить фоновое задание в конце запроса на ASP.NET Core? - PullRequest
0 голосов
/ 05 мая 2018

Мои существующие знания в области веб-разработки в основном Node. Сейчас я изучаю ASP.NET Core, и меня немного смущает то, как я могу запустить фоновое задание в конце метода действия.

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

Я не хочу, чтобы пользователь замедлялся второстепенными вещами, которые должны происходить для каждого запроса. Как бы я сделал это в ASP.NET Core?

1 Ответ

0 голосов
/ 05 мая 2018

Я создал API.
Он начинается, показывает мой IEnumerable из строк для пользователя. Пока страница уже загружена, отладчик продолжает выводить «Все еще работает здесь».
Это работает, потому что я никогда не жду задания и не спрашиваю результата.

[HttpGet]
public IEnumerable<string> Get()
{
    Task task = new Task(() =>
    {
        for (int i = 0; i < 5000; i++)
        {
            System.Threading.Thread.Sleep(2000);
            Debug.WriteLine("Still running here...");
        }
    });

    task.Start();

    return new string[] { "value1", "value2" };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...