2015-06-11 3 views
0

У меня есть страница ASP.NET, которая вызывает вызовы веб-сервисов и получает ответ обратно с данными, поскольку точка состоит в том, чтобы в основном сделать тестовый вызов для мониторинга, если служба находится вверх или вниз. Поскольку есть много звонков, я решил запустить их все в своем потоке и обновить пользовательский интерфейс на веб-странице с ответом, как только они закончат и вернут.Как изменить метку со вторичным потоком?

Я сделал это раньше в приложениях Windows Form с этой методологией .Invoke, чтобы иметь основной поток, а затем обновить текст метки, но через мой поиск я не нашел аналогичного способа сделать это в ASP. Я вижу, что службы возвращают ответ, а код для обновления текста меток проходит через каждый вторичный поток, но ни один из текста меток не изменяется.

Есть ли другой способ, которым я могу изменить текст меток, созданный на основном потоке, с помощью вторичного потока, аналогичного тому, как это сделал Invoke?

+3

(Предыдущий комментатор отметил, что первоначальный запрос будет длинным завершен, а поток перераспределен в другом месте). Вы можете взглянуть на SignalR - ваш фоновый поток должен иметь возможность поднять уведомление через концентратор, который мог бы уведомить клиентов. Это может потребовать значительных изменений дизайна/дооснащения. – StuartLC

ответ

0

Похоже, вы хотите выполнить вызов AJAX. Если вы используете веб-формы ASP.NET, вам необходимо включить частичные обновления страниц, используя UpdatePanel и элемент управления ScriptManager.

Take a look at Microsoft's introduction to the UpdatePanel control

Если вы используете MVC или SignalR есть и другие способы сделать это, но я предполагаю, что как разработчик WinForms, что вы, вероятно, с помощью WebForms.

+0

У меня уже есть панель обновления с ScriptManager. Я попытался вызвать метод updatePanel.Update() в конце метода, который вызовут потоки. Все еще не видно изменений в пользовательском интерфейсе. – RJ130

+0

@ RJ130 Вы могли бы отредактировать в каком-то исходном коде исходный вопрос? Видя, что вы делаете, было бы полезно понять, почему он не работает. – RavB

Смежные вопросы