製作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. 在服務中調用的線程中使用處理程序
- 4. 在Web應用程序的AppDomain中使用Ninject和WCF服務?
- 5. 使用backgroundworker和事件處理程序的多線程
- 6. Android:在服務操作中插入處理程序和線程
- 7. Web應用程序,WCF服務和Sharepoint Web服務
- 8. JavaScript圖片加載線程和事件處理程序線程
- 9. 線程事件處理程序
- 10. 自定義服務器控件和通用Web處理程序
- 11. 在Golang Web服務器中使用映射處理程序
- 12. 使用不同的線程在web應用程序中處理
- 13. 處理需要Web服務的應用程序 - 處理EndpointNotFoundExceptions
- 14. WCF服務和線程
- 15. Java中的線程和事件處理
- 16. 如何在多線程WCF Web服務中正確使用ServiceBehaviorAttribute.InstanceContextMode?
- 17. 如何在WCF Web服務應用程序中引用文件?
- 18. C#telnet應用程序的單線程事件處理程序
- 19. 多線程Web應用程序與多線程Web服務器
- 20. C#事件和事件處理程序
- 21. 在ASP.NET應用程序中使用WCF http web服務
- 22. 事件在Java中使用通用處理程序處理
- 23. 在同一Web應用程序中託管WCF服務和WebAPI
- 24. 事件處理程序應放在Windows服務中的位置?
- 25. .NET框架中的事件處理程序和多線程處理
- 26. 線程處理事件被處理程序阻塞了?
- 27. React.js服務器渲染和事件處理程序
- 28. 線程中使用處理程序
- 29. 線程事件處理(C#)
- 30. 處理多線程事件
只需檢查 - 「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