Architeture概述:如何通過dll調用向可視化界面提供反饋?
語言:C#Windows窗體的項目中使用類庫來執行爬蟲任務
我目前正在寫將要使用的界面(UI),以「調試」履帶(或一組爬行者)我寫的。每個爬蟲是一個.dll
從接口,我將調用.dlls,我不想等待他們結束他們的任務(在內部爬行,解析和構建元素列表)在界面上顯示結果。
問:
有什麼辦法,我可以,不知何故,從發送該.dll該界面的反饋?
在爬行下一個元素之前,可能是一個進度條,或者在讀取元素之後,在界面上顯示它們?
我想要的是類似的東西,要實時顯示在界面上(gridview或其他)。
Finished Crawling College X
Finished Crawling College Y
Problem Crawling College Z - ABORTING
Finished Crawling College K
等等。
這樣做的好方法是什麼?
我曾考慮將Visual組件的引用發送到.dll(或secundary .dll),以便它可以在執行過程中更新可視組件本身。這樣做有什麼缺點嗎?我是否因爲這樣做而破壞了任何優秀的實踐?
在此先感謝,
Marcello。
所以這些是你寫的類嗎?爲什麼不簡單地爲所有DLL(例如暴露進度方法的接口)創建一個已知類型,然後與接口中正在執行的DLL類進行交互? – Tejs
暴露進度方法意味着什麼? 您在談論一個對於爬網程序和UI都可見的類,它將在爬蟲的每一步之後繼續更新UI? 就像一個「中場球員」? –
您如何運行抓取工具? –