Почему HTTPWebRequests и элемент управления WebBrowser, кажется, работают медленнее при запуске из EXE, вызванного службой Windows? - PullRequest
1 голос
/ 10 августа 2010

Итак, я пользуюсь службой Windows как пользователь.Админ прав.Этот сервис запускает EXE через Process.Start.Внутри EXE элемент управления WebBrowser используется для перехода на веб-сайт, входа в систему, обработки всего подтверждения безопасности и получения некоторых данных.Он возвращается, записывает данные в файл.

Не самый эффективный процесс, по общему признанию, но моя рабочая ситуация застряла у меня.

В любом случае, при непосредственном тестировании EXE WebBrowser, он работает очень быстро, но когда он запускается из службы, он идет значительно медленнее.С чего бы это?Есть ли какие-то узкие места в сети, размещенные на сервисах?Я пытался поднять приоритет начального потока процесса WebBrowser exe в Process.StartInfo этого, прежде чем запустить его, и это работает немного, но все еще очень медленно.

В EXE WebBrowser,Я жду, пока страницы не будут заполнены или не появятся определенные элементы, постоянно опрашивая состояние WebBrowser.Может ли это быть причиной такой медлительности?

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

Так что да, мое затруднительное положение может быть кратко изложено следующим образом:

Почему транзакции WebBrowser и HTTPWebRequest, по-видимому, занимают больше времени при выполнении EXE-файлом, вызываемым из службы Windows, работающей какадминистратор?

1 Ответ

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

Там будет множество пропущенных настроек, потому что куст HKEY_CURRENT_USER не загружен в службу (LoadUserProfile не вызывается в serivce).Я даже не уверен, как политики зон безопасности IE работают без определений зон.

И IE имеет небольшой предел одновременных соединений, 6 для широкополосного соединения в IE8.Если у вашего веб-сервера больше одновременных пользователей, чем предел, то кто-то должен ждать.

...