Длинное сообщение .. извините
Я читал об этом и уже несколько дней пробовал разные решения, но я не могу найти самый очевидный выбор для своего затруднительного положения.
О моей ситуации;Я представляю пользователю страницу, которая будет содержать несколько разных ретрансляторов, показывающих некоторую информацию, основанную на результате нескольких вызовов веб-сервиса.Я хотел бы, чтобы данные вводились с панелью обновления (которая будет запрашивать таблицу результатов один раз каждые две или три секунды, пока она не найдет результаты), поэтому я действительно хотел бы отобразить страницу, а затем, когда данные "готов "это показано
На странице запрашивается информация для рендеринга контроллера, и контроллер проверяет таблицу результатов, чтобы увидеть, есть ли что-то, что можно найти.Если конкретные данные не найдены, он вызывает метод GetData () в WebServiceName.cs.GetData ничего не возвращает, но должен запустить асинхронную операцию, которая получает данные от веб-службы.Контроллер возвращает значение null, а UpdatePanel ожидает следующего запроса.
Когда эта операция будет завершена, она сохранит данные в соответствующем месте в БД, где контроллер найдет их в следующий раз, когда страница запросит их.,
Решение, которое у меня сейчас есть, - запустить другой поток.Я буду размещать страницу на общем веб-сервере, и я не знаю, вызовет ли это какие-либо проблемы ..
Итак, текущий код, который находится на page.aspx:
Thread t = new Thread(new ThreadStart(CreateService));
t.Start();
}
void CreateService()
{
ServiceName serviceName = new ServiceName(user, "12345", "MOVING", "Apartment", "5100", "0", "72", "Bill", "rate_total", "1", "103", "serviceHost", "password");
}
AtСначала я подумал, что решение состоит в том, чтобы использовать Begin [Method] и End [Method], но, похоже, они не были сгенерированы.Я подумал, что это хорошее решение, поэтому я был немного расстроен, когда они не появились ... есть ли шанс, что я мог пропустить флажок или что-то подобное при добавлении веб-ссылок?
Не знаюЯ хочу использовать [Method] Async, так как это останавливает отображение страницы до тех пор, пока [Method] AsyncCompleted не будет вызван из того, что я понял.
Вызов, который я собираюсь сделать, не сильно загружает процессор, яЯ просто жду на веб-сервисе, сидящем на медленном сервере, поэтому то, что я понял из этой статьи: http://msdn.microsoft.com/en-us/magazine/cc164128.aspx увеличение пула потоков не является выбором, так как это фактически ухудшит производительность (так как я не могу броситьв гору аппаратных средств).
Как вы думаете, что является лучшим решением для моей текущей ситуации?Мне не очень нравится текущий (только из-за интуиции, но в любом случае)
Спасибо за чтение этого ужасно длинного поста ..