Связь и контроль веб-страницы из C # - PullRequest
2 голосов
/ 06 августа 2010

Я уже открыл веб-страницу в Firefox, которая на самом деле работает через веб-сервер apache на той же машине.И у меня есть приложение C #, работающее на той же машине.Теперь я хочу обновить / сообщить моей уже открытой веб-странице, что C # завершил обработку.Я видел потоки по всей сети, а также некоторые похожие темы в Stackoverflow, но не нашел решения.

Есть идеи, как решить эту проблему?

Подробно: C # Приложение передает изображения извнешнее хранилище.Веб-страница (http://127.0.0.1/mypage.php) периодически ищет изображения, но никогда не знает, что все изображения переданы или нет, чтобы он мог обрабатывать эти изображения для выполнения дополнительной работы. В этом сценарии мы хотим сообщить нашей веб-странице(который уже запущен в Firefox) все данные переданы, и теперь вы можете обновить для обработки данных.

Ответы [ 2 ]

1 голос
/ 06 августа 2010

Два шага: пусть сервер сообщит, что C # готов, и веб-страница отреагирует на него

Вам как-то нужно раскрыть тот факт, что программа C # завершила работу в Интернете. Если у вас также работает IIS, это можно сделать с помощью URL-адреса, напрямую обслуживаемого IIS, который возвращает значение, указывающее, работает ли C # или нет. Если вы этого не сделаете, вы можете записать в файл, базу данных или что-то еще и иметь скрипт на вашем сервере Apache, который проверяет это значение. Что бы вы ни выбрали, вам нужно что-то вроде www.myserver.com/are_you_finished.[php, aspx, что угодно], которое возвращает 1 или 0

Затем вы можете создать скрипт JavaScript на своей клиентской странице, который периодически проверяет этот URL и реагирует, как только значение равно 1. Это будет типичный вызов AJAX, т.е. вам нужно поиграть с XmlHttpRequest. Это можно было бы уточнить гораздо дальше, но, может быть, вы сначала скажете, если вы это имеете в виду, и я также думаю, что здесь есть много хорошей документации о том, как это сделать.

0 голосов
/ 06 августа 2010

Вы можете включить элемент управления Internet Explorer в приложение ouyr. Таким образом, вы можете контролировать, какая страница будет отображаться, и вы можете вызвать обновление и все, что вы хотите.

Другим способом является включение тега meta refresh на html-страницу, чтобы он периодически просматривал обновления и обновлял себя.

Я не вижу способа дистанционного управления Firefox. Единственное, о чем я мог подумать, это запомнить идентификатор процесса, когда вы запускаете Firefox, и вы убиваете процесс и запускаете новое окно, но я считаю, что это плохой стиль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...