制作WCF Web服务时,在使用带有Webbrowser控件的方法时遇到了问题。该方法启动一个线程,并使用web浏览器控件填写一些表单并进一步点击,等待事件处理程序触发并返回我需要的答案。该方法经过测试并在自己的环境中工作,但在WCF Web服务环境中使用,事件处理程序不会触发。这样的结果是等待的manualresetevent没有结束。这是因为新线程还是因为Web服务的错误事件处理?如果是的话,什么是合理的解决方案?在WCF Web服务中使用线程和事件处理程序
1
A
回答
0
Browser1 - > Web应用程序 - > Web服务 - >像对其他网站(新浏览器操作 - >打开URL - > URL中填写 - >按确定 - >抓响应 - >处理答案)
如果您的系统中创建“新浏览器”的部分作为服务运行,或者作为Windows服务运行,自托管的WCF服务进程或IIS;那么很可能你不会得到GUI事件,因为没有GUI。除此之外,GUI事件处理程序还需要Windows消息泵,而这些消息在这些情况下不可用。
尝试托管您的服务,然后说一个Windows窗体主机来查看,我怀疑它会起作用。
如果您必须在IIS或Windows服务(非GUI)下使用您的系统,那么您可以始终与具有消息泵的代理主机进程进行通信,以便为您完成所有浏览内容。一旦完成你的“答案”可以发回到网络应用程序
相关问题
- 1. C#,事件处理程序和线程
- 2. 了JavaFx任务事件处理程序中处理该线程
- 3. 在Web应用程序的AppDomain中使用Ninject和WCF服务?
- 4. 使用backgroundworker和事件处理程序的多线程
- 5. JavaScript图片加载线程和事件处理程序线程
- 6. Web应用程序,WCF服务和Sharepoint Web服务
- 7. 自定义服务器控件和通用Web处理程序
- 8. 在Golang Web服务器中使用映射处理程序
- 9. 使用不同的线程在web应用程序中处理
- 10. 处理需要Web服务的应用程序 - 处理EndpointNotFoundExceptions
- 11. Java中的线程和事件处理
- 12. WCF服务和线程
- 13. 如何在多线程WCF Web服务中正确使用ServiceBehaviorAttribute.InstanceContextMode?
- 14. 如何在WCF Web服务应用程序中引用文件?
- 15. 事件在Java中使用通用处理程序处理
- 16. 事件处理程序应放在Windows服务中的位置?
- 17. 线程处理事件被处理程序阻塞了?
- 18. 线程事件处理(C#)
- 19. 带线程事件处理
- 20. 在事件处理程序
- 21. 在asp.net中的Ajax - 通用处理程序或Web服务?
- 22. GUI应用程序中的事件处理线程C++
- 23. 在WCF Web服务内部处理WCF Windows服务客户端
- 24. HTML事件处理程序与React事件处理程序
- 25. 在一个永久线程中运行事件处理程序
- 26. C#,在单独的线程中执行事件处理程序
- 27. 这和DOM在事件处理程序
- 28. 在事件处理程序和回调
- 29. 线程安全处置WCF服务
- 30. 使用AutoEventWireup时,事件处理程序在哪里连线?
只需检查 - “WebBrowser”在*客户端*,是吗? – 2010-06-17 07:31:20
Web应用程序使用Web服务。 Web服务需要自己的浏览器元素,并使用事件处理程序来填写并从其他站点获取信息。 因此:Browser1 - > Web App - > Web Service - >在其他站点上执行操作(新的浏览器 - >打开url - >填入URL - >按下ok - > catch response - >处理回答) - >返回网络服务的答案 – user368984 2010-06-17 08:23:59
您最好使用'HttpWebRequest'或'WebClient',因为它们还可以让您执行同步请求。 – ErikHeemskerk 2010-06-18 04:33:26