Хотя потоки могут помочь с загрузкой одной страницы (при условии, что на вашем сервере есть как минимум 5 ядер ЦП), это не масштабируемый подход.Что, если в приложение одновременно войдут 3 пользователя?Тогда вам потребуется 15 ядер на сервере для достижения повышения производительности.
AJAX может быть решением, но он страдает от тех же проблем масштабируемости, потому что каждый запрос AJAX будет иметь свой собственный поток.С другой стороны, AJAX дает заданное улучшение скорости для конечного пользователя, потому что он может видеть, что что-то загружается, даже если отстающие части страницы занимают одно и то же время.попадание происходит из базы данных асинхронных запросов к базе данных.Вы можете запустить 5 асинхронных вызовов для 5 частей страницы и сократить время загрузки потенциально до 5 раз.Это сделает код более сложным, хотя.Кроме того, если вы решили объединить это с подходом AJAX, вам нужно взглянуть на асинхронные страницы ASP.NET или асинхронные службы WCF, чтобы избежать проблем с масштабируемостью при большом количестве пользователей, поскольку каждый пользователь займет 5 потоков.1006 * Код для асинхронных вызовов будет выглядеть примерно так:
Page_Load()
{
BeginDBRequest1();
BeginDBRequest2();
BeginDBRequest3();
BeginDBRequest4();
BeginDBRequest5();
data1 = EndDBRequest1();
data2 = EndDBRequest2();
data3 = EndDBRequest3();
data4 = EndDBRequest4();
data5 = EndDBRequest5();
//all of the above calls take the time of the max time call and not the sum of the times
RenderSection1(data1); //1 sec
RenderSection2(data2); //1 sec
RenderSection3(data3); //1 sec
RenderSection4(data4); //1 sec
RenderSection5(data5); //1 sec
}