Как программно управлять несколькими браузерами (элемент управления aXWebBrowser) из одного процесса приложения winforms, ориентируясь на один и тот же удаленный веб-сайт, но каждый браузер живет в отдельной области сеанса с удаленным сайтом?
Цель
- Создайте приложение, которое автоматизирует использование веб-сайта. Цель состоит в том, чтобы приложение выполняло работу до 5 пользователей, взаимодействующих с браузером на одном веб-сайте.
Очевидные проблемы
- Каждый экземпляр браузера делится своими «сеансными» данными, отправленными ему удаленным веб-сайтом. В результате различные браузеры не могут работать так, как это делают многие пользователи. Независимо от того, сколько разных элементов управления aXWebBrowser создано, каждый теряет свой контекст сеанса и разделяет контекст сеанса, установленный последним / последним / последним экземпляром браузера. Другими словами, последний запущенный элемент управления уничтожает установленный контекст сеанса любого элемента управления, предшествующего ему.
уже пробовал
- Добавление одного из следующих разделов реестра в 'hkcu \ software \ microsoft \ internet explorer \ main': TabProcGrowth = DWORD: 0, FrameMerging = DWORD: 0, SessionMerging = DWORD: 0. При запуске IE8 с иконки на рабочем столе (вне приложения) это работает нормально, IE8 ведет себя так, как нужно. Однако при запуске приложения с использованием элементов управления axWewbBrowser оно работает, параметры реестра, похоже, не влияют на элементы управления axWebBrowser. Другие способы увидеть отключенное поведение вне приложения включают в себя: нажмите «Новый сеанс» в меню «Файл IE8» и запустите iexplore.exe с параметром -nomerge. Они не работают в приложении, потому что элемент управления axWebBrowser использует Wininet для связи.
Ограничения
- Значительный объем кода уже написан и работает с использованием элемента управления aXWebBrowser (Internet Explorer ActiveX, веб-обозреватель ActiveX), поэтому для идеального решения не требуется переписывать код с новым элементом управления.
- После того, как решение найдено, приложение отобразит окно (а) браузера для пользователя рабочей станции.
- Приложение Winforms (.NET 2.0) содержит элементы управления
- Все браузеры ориентированы на один и тот же удаленный веб-сайт.