首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从dll调用向可视化界面提供反馈?

如何从dll调用向可视化界面提供反馈?
EN

Stack Overflow用户
提问于 2012-06-11 18:10:58
回答 2查看 290关注 0票数 0

架构概述:

语言:使用类库执行爬虫任务的C# Windows项目

我目前正在编写一个接口(UI),用于“调试”我编写的爬虫(或一组爬虫器)。每个爬虫都是一个.dll。

在接口中,我将调用.dlls,我不想等待它们结束任务(在内部爬行、解析和构建元素列表)来在接口上显示结果。

问题:

我是否可以以某种方式从.dll向界面发送反馈信息?

也许是一个进度条,或者在读取元素之后,在界面上显示它们,然后再爬行下一个元素?

我想要的是这样的东西在界面上实时显示(网格视图或其他东西)。

代码语言:javascript
运行
复制
Finished Crawling College X
Finished Crawling College Y
Problem Crawling College Z - ABORTING
Finished Crawling College K

诸若此类。

做这件事有什么好办法?

我考虑将Visual组件的引用发送到.dll (或安全的.dll),以便它能够在执行过程中更新可视化组件本身。这样做有什么坏处吗?我这样做是否破坏了任何好的做法?

提前谢谢你,

马塞洛。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-11 18:35:26

基本上,你可以这样做:

代码语言:javascript
运行
复制
 public interface ICrawler
 {
     void StartCrawling(Action<SomeCrawlingMessageType> callback);
 }

并在DLL中有实现此功能的类。然后传入一个回调,您的爬虫类可以调用这个回调来将消息发送回调用方。

在回调中,您可以接收传递给您的数据,并通过异步调用UI更新来更新UI,甚至是从多个爬虫中调用。

票数 2
EN

Stack Overflow用户

发布于 2012-06-11 18:18:26

如何在每个爬虫dll中创建事件,然后在您的主UI中订阅每个事件并报告/显示结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10985328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档