вот моя проблема.Я занимаюсь разработкой веб-сайта, который позволит пользователям бронировать отели по всему миру, например, booking.com, expedia.com и т. Д.
Когда пользователь ищет отели в определенном городе, я подключаюсь черезВеб-службы с различными поставщиками, а затем показать результаты.Почти у каждого провайдера это означает:
1) Вызов метода в WS, который возвращает доступные отели в городе на выбранные даты.Для каждого из этих отелей:
- 2) Чтение из очень больших файлов XML (обычно более 1) для получения статической информации, такой как адрес, телефон, факс, описание, услуги и т. Д.
- 3) Вызовите второй метод в WS, чтобы получить информацию о доступных номерах.
- 4) Показать результат
Проблема, с которой я столкнулся, связана со временем загрузки страницы,что является ключевым фактором на этих сайтах.
Первый звонок в WS (пункт 1), это что-то необходимое, в котором я мало что могу сделать, поэтому я должен принять это время.Другие два пункта также необходимы, но я намерен улучшить взаимодействие с пользователем, показав отелей при загрузке .
Допустим, вы ищете отели в Буэнос-Айресе.Вы вводите "Буэнос-Айрес" в качестве пункта назначения и нажимаете кнопку "Buscar".Как вы можете заметить, сообщение о загрузке отображается до тех пор, пока следующая страница не будет полностью загружена.Вместо того, чтобы ждать загрузки всех отелей, я хотел бы сделать следующее:
- Когда пользователь нажимает кнопку "Buscar", немедленно отправляйте пользователя на страницу HotelList
- Показать каждую гостиницу по мере того, как будет получена их информация, и наверху появится сообщение с надписью "Загрузка 1 из XXX отелей" ... "Загрузка 2 из XXX отелей" ...
Я искал примеры ajax, которые описывали бы, как этого добиться, но не нашел четких статей.Я был бы очень признателен, если бы кто-то указал мне правильное направление.
Спасибо!
---------------------------------------------------------------------------
Пробовал с использованием многопоточностино результаты не отображаются.Я показываю результаты, используя буквальный контроль.Вот фрагмент кода:
HotelList.aspx
<asp:Literal ID="HotelesResultadoBusqueda" runat="server"></asp:Literal>
HotelList.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
...
...
ThreadStart job = new ThreadStart(CargarHoteles);
Thread thread = new Thread(job);
thread.Start();
}
private void CargarHoteles()
{
// Load Hotels
ArrayList hotels = WebService......
foreach(Hotel hotel in hotels)
{.....}
....
this.HotelesResultadoBusqueda.Text = "...";
}