Использование потоков и обработчиков событий в веб-службе WCF - PullRequest
1 голос
/ 17 июня 2010

При создании веб-службы WCF я столкнулся с проблемой при использовании метода с элементом управления веб-браузера.Метод запускает поток и использует элемент управления веб-браузера, чтобы заполнить некоторые формы и щелкнуть дальше, ожидая запуска обработчика события и возврата мне нужного ответа.Метод протестирован и работает в собственной среде, но используется в среде веб-службы WCF, обработчики событий просто не срабатывают.Результатом этого является ожидание ручного резерва, которое не заканчивается.Это из-за нового потока или из-за неправильной обработки событий веб-службы?Если да, то каково разумное решение?

1 Ответ

0 голосов
/ 23 июня 2011

Браузер1 -> Веб-приложение -> Веб-служба -> выполнить действие на другом сайте (новый Браузер -> Открыть URL-адрес -> Введите URL-адрес -> нажмите ОК -> Перехватить ответ --> ответ процесса)

, если часть вашей системы, которая создает «новый браузер», работает как служба, либо как служба Windows, либо как самостоятельная служба WCF, либо внутриIIS;тогда, скорее всего, вы не получите события GUI, потому что нет GUI.Обработчикам событий графического интерфейса, среди прочего, требуется Windows Message Pump, который недоступен в этих сценариях.

попробуйте разместить свой сервис под, скажем, хостом Windows Forms, чтобы увидеть, я подозреваю, что он будет работать.

Если ваша система должна работать под управлением IIS или службы Windows (без графического интерфейса пользователя), вы всегда можете связаться с суррогатным хост-процессом, в котором есть насос сообщений, где он может выполнять все действия по просмотру.после завершения ваш «ответ» может быть отправлен обратно в веб-приложение

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