Я пытаюсь запустить 5 задач параллельно, используя Parallel.Foreach (), но проблема в том, что имя пользователя, которое будет использоваться для подключения к базе данных, по какой-то причине хранится в Sessions и при попытке выполнить любой запрос в Task. Run () или Parallal.Foreach () Я получаю нулевые сессии.
Я не могу понять, как правильно использовать await / async для выполнения этой задачи.
Действие: Запустите планировщик заданий за щелчком веб-кнопки:
// In same webform page inside constructer
// I am setting all the session variables which are used to connect to database.
// Calling Process method
new SimpleJobScheduler.SimpleJobScheduler().Process();
Метод обработки:
// GetJobsFromTable() runs fine and I am getting jobs to execute
var dt = GetJobsFromTable();
Parallel.For(0, dt.Rows.Count, i => {
var item = dt.Rows[i];
ProcessJob(item);
});
Метод ProcessJob выполняет задание, но затем запускает запрос к таблице Jobs. Но я получаю нулевые сеансы и, следовательно, запрос не выполняется.