【问题标题】:Can we add rows to datalist dynamically using a thread?我们可以使用线程动态地将行添加到数据列表吗?
【发布时间】:2016-05-17 10:35:20
【问题描述】:

我有一个存储过程,经过长时间处理后,它需要 10 秒才能从表中提取 30 条记录。每个数据列表项都有许多控件,在这些控件中进行数据绑定,同时将这 30 条记录绑定到数据列表,这也需要有点长。

我想知道我们是否可以将这个作业分配给一个线程??

请帮忙,提前谢谢!!

【问题讨论】:

    标签: c# asp.net multithreading


    【解决方案1】:

    每个数据列表项都有许多要在其中进行数据绑定的控件 同时将这 30 条记录绑定到数据列表,这也需要 有点长。

    绑定一个 UI 控件,应始终在 UI 线程上

    我想知道我们是否可以将这个作业分配给一个线程?

    对于 UI 控件,简单的答案是否定的

    您的选择是可以在线程上更新内存中的数据集合,但您需要使用线程安全集合或使用类似 lock 的构造使其成为线程安全的

    最终数据绑定总是在 UI 线程上,否则会导致异常

    【讨论】:

    • 感谢您的回复,我本可以使用 jquery ajax 完成,但 datalist 项中有更多数据绑定需要处理。您能提供一些有关如何实现这一点的链接吗??
    • 以并行模式更新内存集合的链接?使用 System.Collections.Concurrent 命名空间中的任何合适的集合。一个简单的多线程教程将提供大部分细节
    猜你喜欢
    • 1970-01-01
    • 2011-05-26
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2019-12-02
    相关资源
    最近更新 更多