backgroundworker

    1热度

    2回答

    我创建了Backgroundworker以在使用不同类提供的一些方法的串行端口上操作。每次发生这些方法的异常时,我想取消一名工作人员。 事实上,我有一些想法如何使用事件做到这一点,但恐怕这不是最佳解决方案或良好做法。在这种情况下,我应该用每种方法开火,这在我看来效率不高。 。 对于离,一个从方法,ReceiveRecord看起来像这样: public string ReceiveRecord()

    0热度

    1回答

    我有一个c#web应用程序,它读取excel文件将其转换为XML执行存储过程并返回执行辅助更新所需的特定格式的数据集。该数据集返回18000个记录。一旦数据集被填充,我循环并调用Web服务来执行应用程序数据库的更新。我的问题是我怎么能够以较小的批次或更小的块甚至使用进度条来执行此更新。这是调用Web服务和运行更新 public string InvokeSubmitCalendarValues()

    2热度

    2回答

    我正在使用WinForm,从中我需要的所有进程都被引导。现在我试图将BackgroundWorker和ProgressBar以及取消按钮集成到我的代码中。我希望它在本地代码周围,而不是单独的方法。为了测试这个,一个新的表单用一个进度条(不活动)和一个停止for循环的按钮来创建。但是,代码无法正常工作(甚至还没有包含进度条)。表单立即冻结(见图),所以我无法测试取消按钮。然而,for循环被执行并显示

    0热度

    1回答

    我有一个要求,在客户端向单个网页发出请求时,此网页需要从两个其他网页中检索结果。 我们要求信息的两个网页在返回结果之前执行一个过程,这个过程可能需要几分钟的时间,而不是启动一个Web请求并等待它返回,然后开始另一个我想要消除后台工作人员的这两项请求,并将结果同时生成。 所以我的代码看起来是这样的(伪代码): var worker1 = new BackgroundWorker(); var wo

    1热度

    2回答

    我正在与c#工作半年前,我正在学习。 我有一个帮助我工作的程序,它在我的工作场所与4种数据库进行通信。它的工作完美,但现在我想设计使它更酷,但当我想设置一个进度环时,我卡住了,因为我的方法在与我的数据库进行通信时冻结UI。 我想建立一个后台工作人员,我尝试了所有我发现甚至调用过的东西,但没有任何工作。 public partial class MainWindow : MetroWindow {

    0热度

    2回答

    所以我有form1其中有backgroundworker(通过设计视图拖放)。 我可以让它在我需要的地方工作,但是我需要从公共方法中调用它。 在这种公共方法 Utility.initpacks(object sender, EventArgs e,string formname) 所以我DoWork是Form1。 我在表单中的公用事业做了一堆事情,然后该功能需要再次使用Form1中的后台工作者

    0热度

    1回答

    我的程序从串口获取高速数据,并且定时器读取它,当定时器获得值后,定时器被禁用,并且代码执行sting操作,其中增加了从com早期接受到listview的值。问题是,UI线程并不完全冻结,但它似乎laggy当我拖动窗体,也就是说,每次在subitem.text上添加+1的代码是不光滑的。 founditem.SubItems(4).Text = founditem.SubItems(4).Text

    0热度

    1回答

    以下是一个场景,它是一个winforms应用程序,其中有一个进程集合,我在DoWork for循环内逐个运行Backgroundworker类的事件。我在for循环中定期调用ReportProgress()来更新UI。 现在,当我调用ReportProgress()时,它会触发ProgressChanged事件,其中我有代码用以前在DoWork中设置的所有消息更新UI。但是,因为它在一个单独的线程

    0热度

    1回答

    我试图从文件加载数据列表并立即在Winforms的Datagridview上显示该数据。为此,我使用Backgroundworker在另一个线程中进行了阅读。问题是,它只更新一次,我不能让它显示更多的数据。不仅如此,单击时,它会尝试访问具有-1索引的元素,这当然不存在,导致崩溃。 通常,从我所看到的情况来看,只需将相同的数据添加到数据源dataGridView1.DataSource = same

    2热度

    2回答

    我想要如此同步我的文件夹,所以我有10个Filesystemwatcher和4个Backgroundworkers。 想法是,一个观察员可以打电话给4名工作人员,但我希望观察员选择一个主动和自由的工作人员,其他人不应该被触发。 经验值:工人1被解雇,2-4没有。 我在这里做错了什么? 这里是我的代码 private void watcher1_OnChanged(object source, F