Веб-автоматизация с управлением через веб-браузер, вызываемая из веб-службы - PullRequest
0 голосов
/ 17 июня 2011

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

У меня есть код, работающий в консольном приложении, и я хотел бы вызвать консольное приложение из веб-службы. Причиной этого является потенциальный объем запросов и возможность передачи параметров в консольное приложение.

Звучит ли это жизнеспособно и есть ли какие-либо предостережения в отношении такого подхода, такие как ограничение количества обращений к консольному приложению и т. Д.

1 Ответ

1 голос
/ 18 июня 2011

Элемент управления веб-браузера (и, между прочим, некоторые старые версии Google Chrome для Windows) использует WinInet в качестве сетевого уровня, а WinInet не поддерживается в службах Windows , таких как IIS.

Для управления веб-браузером требуется STA, что не подходит для ASP.net.

Управление веб-браузером загружает много dll-файлов, поэтому вам может потребоваться запустить ProcMon на сервере, чтобы увидеть, какой файл / папка вам нужен.дать разрешение пользователю ASP.Net.

Веб-браузер много утечек, он плохо масштабируется на серверах.

Я помню, как люди переходили из элемента управления веб-браузера из IE в GeckoFX, затем в службу WebKit.Net для Windows, но я не слышал, чтобы кто-то переходил на WebKit.Я не знаю, пытался ли кто-нибудь использовать CefSharp для запуска Chromium в Windows Services, но стоит попробовать, некоторое время назад Chromium переключился на собственный сетевой стек.

...