webpart中的异步方法

时间:2010-01-12 09:49:27

标签: c# sharepoint asynchronous web-parts

我现在已经在webpart上编写了几天的代码。这个webpart的要点是清理给定的文档库。我有16 000+个msg文件,我必须根据一些给定的规则验证每个msg文件的To和From标题。

一切都很好,除了这个过程需要永远的事实。 “收件人”或“发件人”中允许的所有可能值都存储在SharePoint本身的SPL列表中。

我能够通过异步调用特定的邮件验证方法来分割验证业务规则和webpart本身的过程。

现在,我有点迷失的技术部分:

该方法返回一个我想绑定到CheckBoxList的Dictionary。 那我该怎么做呢?因为我必须等到我的异步邮件验证方法完成,直到我可以绑定CheckBoxList的数据源?

我的webpart实际上包含了我在webpart中加载的用户控件。

2 个答案:

答案 0 :(得分:0)

您是否考虑过使用jQuery / Ajax而不是使用usercontrols和直接代码?这就是我如何处理我的webparts上的异步加载,记住99%的开发使用xml / xslt来生成html。

答案 1 :(得分:0)

你的异步方法应该调用一个继续处理的回调函数。这个回调应该做绑定;它只在异步过程完成时才会发生..

或者,对于那么多项目,您可能仍会遇到问题。为什么不创建完全异步的进程?您的webpart可以在SharePoint中安排一次运行计时器作业,该作业完全异步执行清理。或者将作业的详细信息记录在列表中,该列表可以通过计划的可执行文件或stsadm命令扩展来获取。 这适用于列表中的任意数量的项目。