簡體   English   中英

您可以在WCF服務下運行WebBrowser嗎?

[英]Can you run WebBrowser under a WCF service?

我目前正在嘗試將屏幕抓取程序(C#窗體應用程序)移到WCF服務。

屏幕抓取程序使用WebBrowser來從幾個沒有API的頁面上抓取信息。 我想知道您是否可以在服務中運行WebBrowser ,更不用說表單了。 我目前正在XP上開發,該版本將在Server 2003上發布。

當前,在運行單元測試時,我只能看到WebBrowser,如果它是在“單元測試”側進行的,即使如此,我仍然需要手動彈出MessageBox來使WebBrowser停止不顯示空白屏幕。

由於我們遇到多線程問題,因此該程序正在移動和拆分。

使用像Phantom.js這樣的無頭瀏覽器會更好: http ://www.phantomjs.org/。 它具有重要的功能,並且像常規的命令行程序一樣,在您需要的任何地方執行都沒有問題。

在考慮這一點時,請意識到WebBrowser控件的每個實例實際上都是Internet Explorer的一個實例。 然后,您的問題就成為一項服務啟動Internet Explorer的多個實例之一。

但是Internet Explorer是一個交互式應用程序。 它希望在獲得焦點時控制鍵盤和鼠標。

  • 您希望它在服務器中運行時控制哪種鍵盤和鼠標?
  • 您的服務器有多少個鍵盤和鼠標?

您可以找到該服務啟動遠程桌面連接並啟動Windows Forms應用程序的某種方法。 然后,您可以讓Windows窗體應用程序托管WCF服務,並且這兩個服務可以相互通信。 我已經看到了這種事情的完成,這是必要的,它需要自動化無法制作成服務的專用交互式程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM