У меня есть страница с 3 использованными элементами управления, которые динамически добавляются на страницу.Один из этих элементов управления использует класс, который извлекает набор записей из базы данных (довольно быстрый запрос), а два других пользовательских элемента управления обращаются к одному классу и возвращают набор данных из базы данных.2, которые используют один класс, в среднем возвращают данные в течение 10 секунд.Теперь я хочу, чтобы пользователь зашел на страницу и увидел 3 полосы загрузки, чтобы каждый пользовательский элемент управления загружался в фоновом режиме.Я хочу, чтобы все они начали загружаться одновременно.
Я пытался вызвать многопоточность на странице, содержащей пользовательские элементы управления, следующим образом:
protected void Page_Load(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(Load1));
t.Start();
t.IsBackground = true;
t.Priority = ThreadPriority.Highest;
t.Join();
Thread s = new Thread(new ThreadStart(Load2));
s.Start();
s.IsBackground = true;
s.Priority = ThreadPriority.Highest;
s.Join();
Thread r = new Thread(new ThreadStart(Load3));
r.Start();
r.IsBackground = true;
r.Priority = ThreadPriority.Highest;
r.Join();
}
private void Load1()
{
Control ctrl1 = LoadControl(@"\Controls\ctrl1.ascx");
Pnl1.Controls.Add(ctrlPreSolic);
}
private void Load2()
{
Control ctrl2 = LoadControl(@"\Controls\ctrl2.ascx");
Pnl2.Controls.Add(ctrlActive);
}
private void Load3()
{
Control ctrl3 = LoadControl(@"\Controls\ctrl3.ascx");
Pnl3.Controls.Add(ctrlNonActive);
}
, однако это не работает, этовсегда загружает первый элемент управления, затем второй, затем третий в строке, но не все одновременно.Это неправильный подход к веб-приложению?Можете ли вы продеть веб-приложение?Мне действительно нужна помощь с этим, если кто-нибудь может мне помочь!