Можете ли вы запустить WebBrowser под службой WCF? - PullRequest
2 голосов
/ 09 марта 2012

В настоящее время я пытаюсь переместить программу очистки экрана (приложение c # forms) в службу WCF.

Программа очистки экрана использует WebBrowser , чтобы получить информацию из несколькихстраницы, для которых нет API.Я хотел бы знать, если вы можете запустить WebBrowser в службе, не говоря уже о форме.В настоящее время я работаю над XP, которая будет выпущена на Server 2003.

В настоящее время при запуске модульного теста я вижу только WebBrowser , если он был выполнен на стороне "Unit Test"даже тогда мне нужно вручную открыть MessageBox для получения WebBrowser , чтобы остановить не навигацию с пустым экраном.

Программа перемещается и разделяетсяпоскольку у нас возникают проблемы с многопоточностью.

Ответы [ 2 ]

6 голосов
/ 09 марта 2012

Было бы лучше использовать браузер без заголовка, такой как Phantom.js: http://www.phantomjs.org/. Он предлагает значительные функции и без проблем запускается везде, где вам нужно, как в обычной программе командной строки.

1 голос
/ 10 марта 2012

Обдумывая это, осознайте, что каждый экземпляр элемента управления WebBrowser на самом деле является экземпляром Internet Explorer. Тогда возникает вопрос о том, чтобы служба запускала несколько экземпляров Internet Explorer.

Но Internet Explorer - это интерактивное приложение. Он ожидает управления клавиатурой и мышью, когда у него есть фокус.

  • Какой клавиатурой и мышью вы хотите управлять при работе на сервере?
  • Сколько клавиатур и мышей у вашего сервера?

Вы можете найти способ для службы запустить подключение к удаленному рабочему столу и запустить приложение Windows Forms. После этого ваше приложение Windows Forms может размещать службу WCF, и эти две службы могут взаимодействовать друг с другом. Я видел подобные вещи, когда нужно было автоматизировать специализированную интерактивную программу, которую нельзя было превратить в сервис.

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