2010-01-12 71 views
0

我已经在webpart上编写了一些日子。这个webpart的要点是清理一个给定的文档库。我在那里有16 000多个msg文件,我必须根据一些给定的规则来验证每个msg文件的“收件人”和“发件人”标题。Web部件中的异步方法

一切都很好,除了这个过程需要永久。 To或From中允许的所有可能值都存储在SharePoint本身的SPLists中。

我能够通过异步调用特定的邮件验证方法,将业务规则和Web部件自身的验证过程分开。

现在,在这里我有点失去了技术部分:

该方法返回一个我要绑定到CheckBoxList的一个解释。 那么我该如何做到这一点?因为我必须等到我的异步邮件验证方法完成,直到我可以绑定CheckBoxList的数据源?

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

回答

0

你有没有考虑过使用jQuery/Ajax而不是usercontrols和直接代码?多数民众赞成我如何处理我的webparts异步加载,铭记我们的开发99%使用xml/xslt生成html。

+0

我不太明白你的答案。我使用用户控件,因为这对我来说似乎是一种更干净的方法,然后直接在Web部件本身编码。我只需要一种方法,我需要异步运行。一个C#方法。我不认为,jQuery/AJAX可以帮助这个或我错了吗? – 2010-01-13 15:38:09

0

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

或者,有很多项目,您仍可能遇到问题。为什么不创建一个完全异步的过程?您的web部件可以在SharePoint中安排一次运行一次的计时器作业,它可以异步执行清理。或者将您的工作细节记录在列表中,该列表可以通过预定的可执行命令或stsadm命令扩展来获取。 这将适用于您列表中的任意数量的项目。

+0

谢谢。我的确遇到了许多问题。我已将您需要在列表中删除的项目应用于您的解决方案。然后,我的web部件检查该列表是否包含项目并对其执行操作。这不是很理想,因为我需要重新加载包含webpart的页面。 – 2010-01-13 15:35:55